[INFO] crate julia-sys 0.2.0 is already in cache [INFO] testing julia-sys-0.2.0 against 1.44.0 for beta-1.45-1 [INFO] extracting crate julia-sys 0.2.0 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate julia-sys 0.2.0 on toolchain 1.44.0 [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate julia-sys 0.2.0 [INFO] finished tweaking crates.io crate julia-sys 0.2.0 [INFO] tweaked toml for crates.io crate julia-sys 0.2.0 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+1.44.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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=warn" "-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" "+1.44.0" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 4d2f8d34a02ccf382a2080e9b9fa4e36388be1cde0e0e8d04e323ac50f613351 [INFO] running `"docker" "start" "-a" "4d2f8d34a02ccf382a2080e9b9fa4e36388be1cde0e0e8d04e323ac50f613351"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling bindgen v0.31.3 [INFO] [stderr] Compiling clang-sys v0.21.2 [INFO] [stderr] Compiling which v1.0.5 [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling cexpr v0.2.3 [INFO] [stderr] Compiling julia-sys v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0554]: `#![feature]` may not be used on the stable release channel [INFO] [stderr] --> src/lib.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #![feature(core_intrinsics)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:5437 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:18126 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:30200 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:27959 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:1778 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:13679 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:43071 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:46184 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:49313 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:54804 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:66403 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:3719:9256 [INFO] [stderr] | [INFO] [stderr] 3719 | } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_timing_block_t { _unused : [ u8 ; 0 ] } pub type jl_timing_block_t = _jl_timing_block_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_handler_t { pub eh_ctx : sigjmp_buf , pub gcstack : * mut jl_gcframe_t , pub prev : * mut _jl_handler_t , pub gc_state : i8 , pub locks_len : usize , pub defer_signal : sig_atomic_t , pub finalizers_inhibited : :: std :: os :: raw :: c_int , pub timing_stack : * mut jl_timing_block_t , pub world_age : usize , } # [ test ] fn bindgen_test_layout__jl_handler_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_handler_t > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( _jl_handler_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_handler_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_handler_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . eh_ctx as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( eh_ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . gcstack as * const _ as usize } , 200usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( gcstack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . prev as * const _ as usize } , 208usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . gc_state as * const _ as usize } , 216usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( gc_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . locks_len as * const _ as usize } , 224usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( locks_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . defer_signal as * const _ as usize } , 232usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( defer_signal ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . finalizers_inhibited as * const _ as usize } , 236usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( finalizers_inhibited ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . timing_stack as * const _ as usize } , 240usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( timing_stack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_handler_t ) ) . world_age as * const _ as usize } , 248usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_handler_t ) , "::" , stringify ! ( world_age ) ) ) ; } pub type jl_handler_t = _jl_handler_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_task_t { pub parent : * mut _jl_task_t , pub tls : * mut jl_value_t , pub state : * mut jl_sym_t , pub consumers : * mut jl_value_t , pub donenotify : * mut jl_value_t , pub result : * mut jl_value_t , pub exception : * mut jl_value_t , pub backtrace : * mut jl_value_t , pub start : * mut jl_function_t , pub ctx : sigjmp_buf , pub bufsz : usize , pub stkbuf : * mut :: std :: os :: raw :: c_void , pub ssize : usize , pub _bitfield_1 : u8 , pub eh : * mut jl_handler_t , pub gcstack : * mut jl_gcframe_t , pub current_module : * mut jl_module_t , pub world_age : usize , pub tid : i16 , pub locks : arraylist_t , pub timing_stack : * mut jl_timing_block_t , } # [ test ] fn bindgen_test_layout__jl_task_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_task_t > ( ) , 608usize , concat ! ( "Size of: " , stringify ! ( _jl_task_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_task_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_task_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . parent as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . tls as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( tls ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . state as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . consumers as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( consumers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . donenotify as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( donenotify ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . result as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . exception as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( exception ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . backtrace as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( backtrace ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . start as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( start ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . ctx as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( ctx ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . bufsz as * const _ as usize } , 272usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( bufsz ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . stkbuf as * const _ as usize } , 280usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( stkbuf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . ssize as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( ssize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . eh as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( eh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . gcstack as * const _ as usize } , 312usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( gcstack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . current_module as * const _ as usize } , 320usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( current_module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . world_age as * const _ as usize } , 328usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( world_age ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . tid as * const _ as usize } , 336usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( tid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . locks as * const _ as usize } , 344usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( locks ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_task_t ) ) . timing_stack as * const _ as usize } , 600usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_task_t ) , "::" , stringify ! ( timing_stack ) ) ) ; } impl _jl_task_t { # [ inline ] pub fn started ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_started ( & mut self , val : usize ) { let mask = 0x1 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( started : usize ) -> u8 { ( 0 | ( ( started as u64 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) } } pub type jl_task_t = _jl_task_t ; extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/lib.rs:405:50 [INFO] [stderr] | [INFO] [stderr] 405 | pub unsafe fn jl_is_slot(v: *mut T) -> bool { (jl_typeis(v, jl_slotnumber_type) || jl_typeis(v,jl_typedslot_type)) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> src/lib.rs:177:13 [INFO] [stderr] | [INFO] [stderr] 177 | let a = mem::uninitialized::(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:3277 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:3781 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:4362 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:4869 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:8156 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:8668 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:9252 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:9766 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:10349 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:10864 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:11447 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:11962 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:12545 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:13061 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:13645 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:14161 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:14745 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:15263 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:15847 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:16365 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:16950 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:17469 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:27993 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:28507 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:29097 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:1515:29613 [INFO] [stderr] | [INFO] [stderr] 1515 | } pub type tcp_seq = u32 ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcphdr { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union tcphdr__bindgen_ty_1 { pub __bindgen_anon_1 : tcphdr__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : tcphdr__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [ u32 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_1 { pub th_sport : u16 , pub th_dport : u16 , pub th_seq : tcp_seq , pub th_ack : tcp_seq , pub _bitfield_1 : u8 , pub th_flags : u8 , pub th_win : u16 , pub th_sum : u16 , pub th_urp : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sport as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_dport as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_dport ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_ack as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_ack ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_flags as * const _ as usize } , 13usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_win as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_win ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_sum as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_sum ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_1 ) ) . th_urp as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( th_urp ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_1 { # [ inline ] pub fn th_x2 ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_x2 ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn th_off ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_th_off ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( th_x2 : u8 , th_off : u8 ) -> u8 { ( ( 0 | ( ( th_x2 as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( th_off as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcphdr__bindgen_ty_1__bindgen_ty_2 { pub source : u16 , pub dest : u16 , pub seq : u32 , pub ack_seq : u32 , pub _bitfield_1 : [ u8 ; 2usize ] , pub window : u16 , pub check : u16 , pub urg_ptr : u16 , } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1__bindgen_ty_2 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . source as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . dest as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( dest ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . seq as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . ack_seq as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( ack_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . window as * const _ as usize } , 14usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . check as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcphdr__bindgen_ty_1__bindgen_ty_2 ) ) . urg_ptr as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( tcphdr__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( urg_ptr ) ) ) ; } impl tcphdr__bindgen_ty_1__bindgen_ty_2 { # [ inline ] pub fn res1 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res1 ( & mut self , val : u16 ) { let mask = 0xf as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn doff ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xf0 as u16 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_doff ( & mut self , val : u16 ) { let mask = 0xf0 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn fin ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x100 as u16 ; let val = ( unit_field_val & mask ) >> 8usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_fin ( & mut self , val : u16 ) { let mask = 0x100 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 8usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn syn ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x200 as u16 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_syn ( & mut self , val : u16 ) { let mask = 0x200 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn rst ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x400 as u16 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_rst ( & mut self , val : u16 ) { let mask = 0x400 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn psh ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x800 as u16 ; let val = ( unit_field_val & mask ) >> 11usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_psh ( & mut self , val : u16 ) { let mask = 0x800 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 11usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ack ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ack ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn urg ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_urg ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn res2 ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xc000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_res2 ( & mut self , val : u16 ) { let mask = 0xc000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( res1 : u16 , doff : u16 , fin : u16 , syn : u16 , rst : u16 , psh : u16 , ack : u16 , urg : u16 , res2 : u16 ) -> u16 { ( ( ( ( ( ( ( ( ( 0 | ( ( res1 as u16 as u16 ) << 0usize ) & ( 0xf as u16 ) ) | ( ( doff as u16 as u16 ) << 4usize ) & ( 0xf0 as u16 ) ) | ( ( fin as u16 as u16 ) << 8usize ) & ( 0x100 as u16 ) ) | ( ( syn as u16 as u16 ) << 9usize ) & ( 0x200 as u16 ) ) | ( ( rst as u16 as u16 ) << 10usize ) & ( 0x400 as u16 ) ) | ( ( psh as u16 as u16 ) << 11usize ) & ( 0x800 as u16 ) ) | ( ( ack as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( urg as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( res2 as u16 as u16 ) << 14usize ) & ( 0xc000 as u16 ) ) } } # [ test ] fn bindgen_test_layout_tcphdr__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr__bindgen_ty_1 > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr__bindgen_ty_1 ) ) ) ; } # [ test ] fn bindgen_test_layout_tcphdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcphdr > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcphdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcphdr > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcphdr ) ) ) ; } pub const TCP_ESTABLISHED : _bindgen_ty_9 = 1 ; pub const TCP_SYN_SENT : _bindgen_ty_9 = 2 ; pub const TCP_SYN_RECV : _bindgen_ty_9 = 3 ; pub const TCP_FIN_WAIT1 : _bindgen_ty_9 = 4 ; pub const TCP_FIN_WAIT2 : _bindgen_ty_9 = 5 ; pub const TCP_TIME_WAIT : _bindgen_ty_9 = 6 ; pub const TCP_CLOSE : _bindgen_ty_9 = 7 ; pub const TCP_CLOSE_WAIT : _bindgen_ty_9 = 8 ; pub const TCP_LAST_ACK : _bindgen_ty_9 = 9 ; pub const TCP_LISTEN : _bindgen_ty_9 = 10 ; pub const TCP_CLOSING : _bindgen_ty_9 = 11 ; pub type _bindgen_ty_9 = :: std :: os :: raw :: c_uint ; pub const tcp_ca_state_TCP_CA_Open : tcp_ca_state = 0 ; pub const tcp_ca_state_TCP_CA_Disorder : tcp_ca_state = 1 ; pub const tcp_ca_state_TCP_CA_CWR : tcp_ca_state = 2 ; pub const tcp_ca_state_TCP_CA_Recovery : tcp_ca_state = 3 ; pub const tcp_ca_state_TCP_CA_Loss : tcp_ca_state = 4 ; pub type tcp_ca_state = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_info { pub tcpi_state : u8 , pub tcpi_ca_state : u8 , pub tcpi_retransmits : u8 , pub tcpi_probes : u8 , pub tcpi_backoff : u8 , pub tcpi_options : u8 , pub _bitfield_1 : u8 , pub tcpi_rto : u32 , pub tcpi_ato : u32 , pub tcpi_snd_mss : u32 , pub tcpi_rcv_mss : u32 , pub tcpi_unacked : u32 , pub tcpi_sacked : u32 , pub tcpi_lost : u32 , pub tcpi_retrans : u32 , pub tcpi_fackets : u32 , pub tcpi_last_data_sent : u32 , pub tcpi_last_ack_sent : u32 , pub tcpi_last_data_recv : u32 , pub tcpi_last_ack_recv : u32 , pub tcpi_pmtu : u32 , pub tcpi_rcv_ssthresh : u32 , pub tcpi_rtt : u32 , pub tcpi_rttvar : u32 , pub tcpi_snd_ssthresh : u32 , pub tcpi_snd_cwnd : u32 , pub tcpi_advmss : u32 , pub tcpi_reordering : u32 , pub tcpi_rcv_rtt : u32 , pub tcpi_rcv_space : u32 , pub tcpi_total_retrans : u32 , } # [ test ] fn bindgen_test_layout_tcp_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_info > ( ) , 104usize , concat ! ( "Size of: " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_info > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_state as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ca_state as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ca_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retransmits as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retransmits ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_probes as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_probes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_backoff as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_backoff ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_options as * const _ as usize } , 5usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_options ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rto as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rto ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_ato as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_ato ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_mss as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_mss as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_mss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_unacked as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_unacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_sacked as * const _ as usize } , 28usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_sacked ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_lost as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_lost ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_retrans as * const _ as usize } , 36usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_retrans ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_fackets as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_fackets ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_sent as * const _ as usize } , 44usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_sent as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_sent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_data_recv as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_data_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_last_ack_recv as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_last_ack_recv ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_pmtu as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_pmtu ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_ssthresh as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rtt as * const _ as usize } , 68usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rttvar as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rttvar ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_ssthresh as * const _ as usize } , 76usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_ssthresh ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_snd_cwnd as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_snd_cwnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_advmss as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_advmss ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_reordering as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_reordering ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_rtt as * const _ as usize } , 92usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_rtt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_rcv_space as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_rcv_space ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_info ) ) . tcpi_total_retrans as * const _ as usize } , 100usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_info ) , "::" , stringify ! ( tcpi_total_retrans ) ) ) ; } impl tcp_info { # [ inline ] pub fn tcpi_snd_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_snd_wscale ( & mut self , val : u8 ) { let mask = 0xf as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn tcpi_rcv_wscale ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xf0 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_tcpi_rcv_wscale ( & mut self , val : u8 ) { let mask = 0xf0 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( tcpi_snd_wscale : u8 , tcpi_rcv_wscale : u8 ) -> u8 { ( ( 0 | ( ( tcpi_snd_wscale as u8 as u8 ) << 0usize ) & ( 0xf as u8 ) ) | ( ( tcpi_rcv_wscale as u8 as u8 ) << 4usize ) & ( 0xf0 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_md5sig { pub tcpm_addr : sockaddr_storage , pub tcpm_flags : u8 , pub tcpm_prefixlen : u8 , pub tcpm_keylen : u16 , pub __tcpm_pad : u32 , pub tcpm_key : [ u8 ; 80usize ] , } # [ test ] fn bindgen_test_layout_tcp_md5sig ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_md5sig > ( ) , 216usize , concat ! ( "Size of: " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_md5sig > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_md5sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_addr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_flags as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_prefixlen as * const _ as usize } , 129usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_prefixlen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_keylen as * const _ as usize } , 130usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_keylen ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . __tcpm_pad as * const _ as usize } , 132usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( __tcpm_pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_md5sig ) ) . tcpm_key as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_md5sig ) , "::" , stringify ! ( tcpm_key ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_opt { pub opt_code : u32 , pub opt_val : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_opt ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_opt > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_opt > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_opt ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_opt ) ) . opt_val as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_opt ) , "::" , stringify ! ( opt_val ) ) ) ; } pub const TCP_NO_QUEUE : _bindgen_ty_10 = 0 ; pub const TCP_RECV_QUEUE : _bindgen_ty_10 = 1 ; pub const TCP_SEND_QUEUE : _bindgen_ty_10 = 2 ; pub const TCP_QUEUES_NR : _bindgen_ty_10 = 3 ; pub type _bindgen_ty_10 = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct tcp_cookie_transactions { pub tcpct_flags : u16 , pub __tcpct_pad1 : u8 , pub tcpct_cookie_desired : u8 , pub tcpct_s_data_desired : u16 , pub tcpct_used : u16 , pub tcpct_value : [ u8 ; 536usize ] , } # [ test ] fn bindgen_test_layout_tcp_cookie_transactions ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_cookie_transactions > ( ) , 544usize , concat ! ( "Size of: " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_cookie_transactions > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( tcp_cookie_transactions ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_flags as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . __tcpct_pad1 as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( __tcpct_pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_cookie_desired as * const _ as usize } , 3usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_cookie_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_s_data_desired as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_s_data_desired ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_used as * const _ as usize } , 6usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_used ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_cookie_transactions ) ) . tcpct_value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_cookie_transactions ) , "::" , stringify ! ( tcpct_value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_repair_window { pub snd_wl1 : u32 , pub snd_wnd : u32 , pub max_window : u32 , pub rcv_wnd : u32 , pub rcv_wup : u32 , } # [ test ] fn bindgen_test_layout_tcp_repair_window ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_repair_window > ( ) , 20usize , concat ! ( "Size of: " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_repair_window > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( tcp_repair_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wl1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wl1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . snd_wnd as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( snd_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . max_window as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( max_window ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wnd as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_repair_window ) ) . rcv_wup as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_repair_window ) , "::" , stringify ! ( rcv_wup ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct tcp_zerocopy_receive { pub address : u64 , pub length : u32 , pub recv_skip_hint : u32 , } # [ test ] fn bindgen_test_layout_tcp_zerocopy_receive ( ) { assert_eq ! ( :: std :: mem :: size_of :: < tcp_zerocopy_receive > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < tcp_zerocopy_receive > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( tcp_zerocopy_receive ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . address as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( address ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const tcp_zerocopy_receive ) ) . recv_skip_hint as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( tcp_zerocopy_receive ) , "::" , stringify ! ( recv_skip_hint ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:20906 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:21441 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:22052 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:22587 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:23196 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:23729 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:24337 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:24869 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:25476 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:26009 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:26622 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2573:27161 [INFO] [stderr] | [INFO] [stderr] 2573 | } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_handle { pub async : uv_async_t , pub check : uv_check_t , pub fs_event : uv_fs_event_t , pub fs_poll : uv_fs_poll_t , pub handle : uv_handle_t , pub idle : uv_idle_t , pub pipe : uv_pipe_t , pub poll : uv_poll_t , pub prepare : uv_prepare_t , pub process : uv_process_t , pub stream : uv_stream_t , pub tcp : uv_tcp_t , pub timer : uv_timer_t , pub tty : uv_tty_t , pub udp : uv_udp_t , pub signal : uv_signal_t , _bindgen_union_align : [ u64 ; 39usize ] , } # [ test ] fn bindgen_test_layout_uv_any_handle ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_handle > ( ) , 312usize , concat ! ( "Size of: " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_handle > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . async as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . check as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( check ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_event as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_event ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . fs_poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( fs_poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . handle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( handle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . idle as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( idle ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . pipe as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( pipe ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . poll as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( poll ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . prepare as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( prepare ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . process as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( process ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . stream as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( stream ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tcp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tcp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . timer as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . tty as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( tty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . udp as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( udp ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_handle ) ) . signal as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_handle ) , "::" , stringify ! ( signal ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union uv_any_req { pub req : uv_req_t , pub connect : uv_connect_t , pub write : uv_write_t , pub shutdown : uv_shutdown_t , pub udp_send : uv_udp_send_t , pub fs : uv_fs_t , pub work : uv_work_t , pub getaddrinfo : uv_getaddrinfo_t , pub getnameinfo : uv_getnameinfo_t , _bindgen_union_align : [ u64 ; 165usize ] , } # [ test ] fn bindgen_test_layout_uv_any_req ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_any_req > ( ) , 1320usize , concat ! ( "Size of: " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_any_req > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_any_req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . req as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( req ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . connect as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( connect ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . write as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( write ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . shutdown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( shutdown ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . udp_send as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( udp_send ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . fs as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . work as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( work ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getaddrinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getaddrinfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_any_req ) ) . getnameinfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_any_req ) , "::" , stringify ! ( getnameinfo ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct uv_loop_s { pub data : * mut :: std :: os :: raw :: c_void , pub active_handles : :: std :: os :: raw :: c_uint , pub handle_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub active_reqs : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub stop_flag : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_ulong , pub backend_fd : :: std :: os :: raw :: c_int , pub pending_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watcher_queue : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub watchers : * mut * mut uv__io_t , pub nwatchers : :: std :: os :: raw :: c_uint , pub nfds : :: std :: os :: raw :: c_uint , pub wq : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub wq_mutex : uv_mutex_t , pub wq_async : uv_async_t , pub cloexec_lock : uv_rwlock_t , pub closing_handles : * mut uv_handle_t , pub process_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub prepare_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub check_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub idle_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_handles : [ * mut :: std :: os :: raw :: c_void ; 2usize ] , pub async_watcher : uv__async , pub timer_heap : uv_loop_s__bindgen_ty_1 , pub timer_counter : u64 , pub time : u64 , pub signal_pipefd : [ :: std :: os :: raw :: c_int ; 2usize ] , pub signal_io_watcher : uv__io_t , pub child_watcher : uv_signal_t , pub emfile_fd : :: std :: os :: raw :: c_int , pub inotify_read_watcher : uv__io_t , pub inotify_watchers : * mut :: std :: os :: raw :: c_void , pub inotify_fd : :: std :: os :: raw :: c_int , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct uv_loop_s__bindgen_ty_1 { pub min : * mut :: std :: os :: raw :: c_void , pub nelts : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_uv_loop_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . min as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( min ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s__bindgen_ty_1 ) ) . nelts as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s__bindgen_ty_1 ) , "::" , stringify ! ( nelts ) ) ) ; } # [ test ] fn bindgen_test_layout_uv_loop_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < uv_loop_s > ( ) , 848usize , concat ! ( "Size of: " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < uv_loop_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( uv_loop_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_handles as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . handle_queue as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( handle_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . active_reqs as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( active_reqs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . stop_flag as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( stop_flag ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . flags as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . backend_fd as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( backend_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . pending_queue as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( pending_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watcher_queue as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watcher_queue ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . watchers as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nwatchers as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nwatchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . nfds as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( nfds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_mutex as * const _ as usize } , 136usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . wq_async as * const _ as usize } , 176usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( wq_async ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . cloexec_lock as * const _ as usize } , 304usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( cloexec_lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . closing_handles as * const _ as usize } , 360usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( closing_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . process_handles as * const _ as usize } , 368usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( process_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . prepare_handles as * const _ as usize } , 384usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( prepare_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . check_handles as * const _ as usize } , 400usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( check_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . idle_handles as * const _ as usize } , 416usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( idle_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_handles as * const _ as usize } , 432usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_handles ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . async_watcher as * const _ as usize } , 448usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( async_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_heap as * const _ as usize } , 520usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_heap ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . timer_counter as * const _ as usize } , 536usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( timer_counter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . time as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( time ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_pipefd as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_pipefd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . signal_io_watcher as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( signal_io_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . child_watcher as * const _ as usize } , 616usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( child_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . emfile_fd as * const _ as usize } , 768usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( emfile_fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_read_watcher as * const _ as usize } , 776usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_read_watcher ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_watchers as * const _ as usize } , 832usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_watchers ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const uv_loop_s ) ) . inotify_fd as * const _ as usize } , 840usize , concat ! ( "Alignment of field: " , stringify ! ( uv_loop_s ) , "::" , stringify ! ( inotify_fd ) ) ) ; } pub const bufmode_t_bm_none : bufmode_t = 19 ; pub const bufmode_t_bm_line : bufmode_t = 20 ; pub const bufmode_t_bm_block : bufmode_t = 21 ; pub const bufmode_t_bm_mem : bufmode_t = 22 ; pub type bufmode_t = :: std :: os :: raw :: c_uint ; pub const bufstate_t_bst_none : bufstate_t = 0 ; pub const bufstate_t_bst_rd : bufstate_t = 1 ; pub const bufstate_t_bst_wr : bufstate_t = 2 ; pub type bufstate_t = :: std :: os :: raw :: c_uint ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct ios_t { pub buf : * mut :: std :: os :: raw :: c_char , pub errcode : :: std :: os :: raw :: c_int , pub _pad_bm : :: std :: os :: raw :: c_int , pub bm : bufmode_t , pub state : bufstate_t , pub maxsize : i64 , pub size : i64 , pub bpos : i64 , pub ndirty : i64 , pub fpos : i64 , pub lineno : usize , pub fd : :: std :: os :: raw :: c_long , pub _bitfield_1 : u8 , pub userdata : i64 , pub local : [ :: std :: os :: raw :: c_char ; 54usize ] , } # [ test ] fn bindgen_test_layout_ios_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ios_t > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ios_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ios_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . buf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( buf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . errcode as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( errcode ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . _pad_bm as * const _ as usize } , 12usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( _pad_bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bm as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bm ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . state as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( state ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . maxsize as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . size as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . bpos as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( bpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . ndirty as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( ndirty ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fpos as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fpos ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . lineno as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( lineno ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . fd as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . userdata as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( userdata ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const ios_t ) ) . local as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( ios_t ) , "::" , stringify ! ( local ) ) ) ; } impl ios_t { # [ inline ] pub fn readable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_readable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn writable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_writable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x2 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownbuf ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownbuf ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x4 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn ownfd ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_ownfd ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x8 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn _eof ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x10 as u8 ; let val = ( unit_field_val & mask ) >> 4usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set__eof ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x10 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 4usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn rereadable ( & self ) -> :: std :: os :: raw :: c_uchar { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x20 as u8 ; let val = ( unit_field_val & mask ) >> 5usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_rereadable ( & mut self , val : :: std :: os :: raw :: c_uchar ) { let mask = 0x20 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 5usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( readable : :: std :: os :: raw :: c_uchar , writable : :: std :: os :: raw :: c_uchar , ownbuf : :: std :: os :: raw :: c_uchar , ownfd : :: std :: os :: raw :: c_uchar , _eof : :: std :: os :: raw :: c_uchar , rereadable : :: std :: os :: raw :: c_uchar ) -> u8 { ( ( ( ( ( ( 0 | ( ( readable as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( writable as u8 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( ownbuf as u8 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( ownfd as u8 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) | ( ( _eof as u8 as u8 ) << 4usize ) & ( 0x10 as u8 ) ) | ( ( rereadable as u8 as u8 ) << 5usize ) & ( 0x20 as u8 ) ) } } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:718 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:1224 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:6982 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:7493 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:8078 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:8595 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:9181 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:9702 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:10291 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:10814 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:11403 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:11926 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:12516 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:13040 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:40917 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:41421 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:42000 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:42505 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:43997 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:44510 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:45094 [INFO] [stderr] | [INFO] [stderr] 2884 | } pub type jl_value_t = _jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_taggedvalue_bits { pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , pub __bindgen_align : [ u64 ; 0usize ] , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_bits ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_bits > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_bits ) ) ) ; } impl _jl_taggedvalue_bits { # [ inline ] pub fn gc ( & self ) -> usize { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x3 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u64 ) } } # [ inline ] pub fn set_gc ( & mut self , val : usize ) { let mask = 0x3 as u8 ; let val = val as u64 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( gc : usize ) -> u8 { ( 0 | ( ( gc as u64 as u8 ) << 0usize ) & ( 0x3 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_taggedvalue_t { pub __bindgen_anon_1 : _jl_taggedvalue_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_taggedvalue_t__bindgen_ty_1 { pub header : usize , pub next : * mut jl_taggedvalue_t , pub type_ : * mut jl_value_t , pub bits : _jl_taggedvalue_bits , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . header as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( header ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . type_ as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( type_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_taggedvalue_t__bindgen_ty_1 ) ) . bits as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_taggedvalue_t__bindgen_ty_1 ) , "::" , stringify ! ( bits ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_taggedvalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_taggedvalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_taggedvalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_taggedvalue_t ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_sym_t { pub left : * mut _jl_sym_t , pub right : * mut _jl_sym_t , pub hash : usize , } # [ test ] fn bindgen_test_layout__jl_sym_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_sym_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_sym_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_sym_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . left as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( left ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . right as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( right ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_sym_t ) ) . hash as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_sym_t ) , "::" , stringify ! ( hash ) ) ) ; } pub type jl_sym_t = _jl_sym_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_ssavalue_t { pub id : isize , } # [ test ] fn bindgen_test_layout__jl_ssavalue_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_ssavalue_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_ssavalue_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_ssavalue_t ) ) . id as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_ssavalue_t ) , "::" , stringify ! ( id ) ) ) ; } pub type jl_ssavalue_t = _jl_ssavalue_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_svec_t { pub length : usize , } # [ test ] fn bindgen_test_layout_jl_svec_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_svec_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_svec_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_svec_t ) ) . length as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_svec_t ) , "::" , stringify ! ( length ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_array_flags_t { pub _bitfield_1 : u16 , pub __bindgen_align : [ u16 ; 0usize ] , } # [ test ] fn bindgen_test_layout_jl_array_flags_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_array_flags_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_flags_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_array_flags_t ) ) ) ; } impl jl_array_flags_t { # [ inline ] pub fn how ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x3 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_how ( & mut self , val : u16 ) { let mask = 0x3 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ndims ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xffc as u16 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ndims ( & mut self , val : u16 ) { let mask = 0xffc as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn pooled ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1000 as u16 ; let val = ( unit_field_val & mask ) >> 12usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_pooled ( & mut self , val : u16 ) { let mask = 0x1000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 12usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn ptrarray ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x2000 as u16 ; let val = ( unit_field_val & mask ) >> 13usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_ptrarray ( & mut self , val : u16 ) { let mask = 0x2000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 13usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isshared ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x4000 as u16 ; let val = ( unit_field_val & mask ) >> 14usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isshared ( & mut self , val : u16 ) { let mask = 0x4000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 14usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn isaligned ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x8000 as u16 ; let val = ( unit_field_val & mask ) >> 15usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isaligned ( & mut self , val : u16 ) { let mask = 0x8000 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 15usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( how : u16 , ndims : u16 , pooled : u16 , ptrarray : u16 , isshared : u16 , isaligned : u16 ) -> u16 { ( ( ( ( ( ( 0 | ( ( how as u16 as u16 ) << 0usize ) & ( 0x3 as u16 ) ) | ( ( ndims as u16 as u16 ) << 2usize ) & ( 0xffc as u16 ) ) | ( ( pooled as u16 as u16 ) << 12usize ) & ( 0x1000 as u16 ) ) | ( ( ptrarray as u16 as u16 ) << 13usize ) & ( 0x2000 as u16 ) ) | ( ( isshared as u16 as u16 ) << 14usize ) & ( 0x4000 as u16 ) ) | ( ( isaligned as u16 as u16 ) << 15usize ) & ( 0x8000 as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_array_t { pub data : * mut :: std :: os :: raw :: c_void , pub length : usize , pub flags : jl_array_flags_t , pub elsize : u16 , pub offset : u32 , pub nrows : usize , pub __bindgen_anon_1 : jl_array_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_array_t__bindgen_ty_1 { pub maxsize : usize , pub ncols : usize , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_array_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . maxsize as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( maxsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t__bindgen_ty_1 ) ) . ncols as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t__bindgen_ty_1 ) , "::" , stringify ! ( ncols ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_array_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_array_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_array_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_array_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . data as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( data ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . length as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( length ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . flags as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . elsize as * const _ as usize } , 18usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( elsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . offset as * const _ as usize } , 20usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_array_t ) ) . nrows as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_array_t ) , "::" , stringify ! ( nrows ) ) ) ; } pub type jl_tupletype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_typemap_t { pub node : * mut _jl_typemap_level_t , pub leaf : * mut _jl_typemap_entry_t , pub unknown : * mut _jl_value_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_typemap_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typemap_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typemap_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . node as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( node ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . leaf as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( leaf ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typemap_t ) ) . unknown as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typemap_t ) , "::" , stringify ! ( unknown ) ) ) ; } pub type jl_fptr_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_value_t , arg2 : * mut * mut jl_value_t , arg3 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_sparam_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut jl_svec_t , arg2 : * mut jl_value_t , arg3 : * mut * mut jl_value_t , arg4 : u32 ) -> * mut jl_value_t > ; pub type jl_fptr_linfo_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : * mut _jl_method_instance_t , arg2 : * mut * mut jl_value_t , arg3 : u32 , arg4 : * mut jl_svec_t ) -> * mut jl_value_t > ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct jl_generic_fptr_t { pub __bindgen_anon_1 : jl_generic_fptr_t__bindgen_ty_1 , pub jlcall_api : u8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union jl_generic_fptr_t__bindgen_ty_1 { pub fptr : jl_fptr_t , pub fptr1 : jl_fptr_t , pub fptr3 : jl_fptr_sparam_t , pub fptr4 : jl_fptr_linfo_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr3 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t__bindgen_ty_1 ) ) . fptr4 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t__bindgen_ty_1 ) , "::" , stringify ! ( fptr4 ) ) ) ; } # [ test ] fn bindgen_test_layout_jl_generic_fptr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_generic_fptr_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_generic_fptr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_generic_fptr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_generic_fptr_t ) ) . jlcall_api as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_generic_fptr_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_llvm_functions_t { pub functionObject : * mut :: std :: os :: raw :: c_void , pub specFunctionObject : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout__jl_llvm_functions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_llvm_functions_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_llvm_functions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_llvm_functions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . functionObject as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( functionObject ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_llvm_functions_t ) ) . specFunctionObject as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_llvm_functions_t ) , "::" , stringify ! ( specFunctionObject ) ) ) ; } pub type jl_llvm_functions_t = _jl_llvm_functions_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_code_info_t { pub code : * mut jl_array_t , pub slottypes : * mut jl_value_t , pub ssavaluetypes : * mut jl_value_t , pub slotflags : * mut jl_array_t , pub slotnames : * mut jl_array_t , pub inferred : u8 , pub inlineable : u8 , pub propagate_inbounds : u8 , pub pure_ : u8 , } # [ test ] fn bindgen_test_layout__jl_code_info_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_code_info_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_code_info_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_code_info_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . code as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( code ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slottypes as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slottypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . ssavaluetypes as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( ssavaluetypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotflags as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . slotnames as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( slotnames ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inferred as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . inlineable as * const _ as usize } , 41usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( inlineable ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . propagate_inbounds as * const _ as usize } , 42usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( propagate_inbounds ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_code_info_t ) ) . pure_ as * const _ as usize } , 43usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_code_info_t ) , "::" , stringify ! ( pure_ ) ) ) ; } pub type jl_code_info_t = _jl_code_info_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_method_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub file : * mut jl_sym_t , pub line : i32 , pub sig : * mut jl_value_t , pub min_world : usize , pub ambig : * mut jl_value_t , pub specializations : jl_typemap_t , pub sparam_syms : * mut jl_svec_t , pub source : * mut jl_value_t , pub unspecialized : * mut _jl_method_instance_t , pub generator : * mut _jl_method_instance_t , pub roots : * mut jl_array_t , pub invokes : jl_typemap_t , pub nargs : i32 , pub called : i32 , pub isva : u8 , pub isstaged : u8 , pub pure_ : u8 , pub traced : u8 , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_method_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_t > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . file as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( file ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . line as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( line ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sig as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . min_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . ambig as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( ambig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . specializations as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( specializations ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . sparam_syms as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( sparam_syms ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . source as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( source ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . unspecialized as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( unspecialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . generator as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( generator ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . roots as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( roots ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . invokes as * const _ as usize } , 104usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( invokes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . nargs as * const _ as usize } , 112usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( nargs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . called as * const _ as usize } , 116usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( called ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isva as * const _ as usize } , 120usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isva ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . isstaged as * const _ as usize } , 121usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( isstaged ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . pure_ as * const _ as usize } , 122usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( pure_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . traced as * const _ as usize } , 123usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_t ) ) . writelock as * const _ as usize } , 128usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_method_t = _jl_method_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_method_instance_t { pub specTypes : * mut jl_value_t , pub rettype : * mut jl_value_t , pub sparam_vals : * mut jl_svec_t , pub backedges : * mut jl_array_t , pub inferred : * mut jl_value_t , pub inferred_const : * mut jl_value_t , pub def : * mut jl_method_t , pub min_world : usize , pub max_world : usize , pub inInference : u8 , pub jlcall_api : u8 , pub compile_traced : u8 , pub fptr : jl_fptr_t , pub unspecialized_ducttape : jl_fptr_t , pub functionObjectsDecls : jl_llvm_functions_t , } # [ test ] fn bindgen_test_layout__jl_method_instance_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_method_instance_t > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_method_instance_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_method_instance_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . specTypes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( specTypes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . rettype as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( rettype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . sparam_vals as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( sparam_vals ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . backedges as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inferred_const as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inferred_const ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . def as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( def ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . min_world as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . max_world as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . inInference as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( inInference ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . jlcall_api as * const _ as usize } , 73usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( jlcall_api ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . compile_traced as * const _ as usize } , 74usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( compile_traced ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . fptr as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( fptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . unspecialized_ducttape as * const _ as usize } , 88usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( unspecialized_ducttape ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_method_instance_t ) ) . functionObjectsDecls as * const _ as usize } , 96usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_method_instance_t ) , "::" , stringify ! ( functionObjectsDecls ) ) ) ; } pub type jl_method_instance_t = _jl_method_instance_t ; pub type jl_function_t = jl_value_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_tvar_t { pub name : * mut jl_sym_t , pub lb : * mut jl_value_t , pub ub : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_tvar_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_tvar_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_tvar_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_tvar_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . lb as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( lb ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_tvar_t ) ) . ub as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_tvar_t ) , "::" , stringify ! ( ub ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_unionall_t { pub var : * mut jl_tvar_t , pub body : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_unionall_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_unionall_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_unionall_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_unionall_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . var as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( var ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_unionall_t ) ) . body as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_unionall_t ) , "::" , stringify ! ( body ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_typename_t { pub name : * mut jl_sym_t , pub module : * mut _jl_module_t , pub names : * mut jl_svec_t , pub wrapper : * mut jl_value_t , pub cache : * mut jl_svec_t , pub linearcache : * mut jl_svec_t , pub hash : isize , pub mt : * mut _jl_methtable_t , } # [ test ] fn bindgen_test_layout_jl_typename_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_typename_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_typename_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_typename_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . module as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . names as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( names ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . wrapper as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( wrapper ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . cache as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . linearcache as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( linearcache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . hash as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( hash ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_typename_t ) ) . mt as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( jl_typename_t ) , "::" , stringify ! ( mt ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_uniontype_t { pub a : * mut jl_value_t , pub b : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_uniontype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_uniontype_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_uniontype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_uniontype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . a as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( a ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_uniontype_t ) ) . b as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_uniontype_t ) , "::" , stringify ! ( b ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc8_t { pub _bitfield_1 : u8 , pub offset : u8 , } # [ test ] fn bindgen_test_layout_jl_fielddesc8_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc8_t > ( ) , 2usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc8_t > ( ) , 1usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc8_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc8_t ) ) . offset as * const _ as usize } , 1usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc8_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc8_t { # [ inline ] pub fn isptr ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u8 ) { let mask = 0x1 as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u8 { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0xfe as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u8 ) } } # [ inline ] pub fn set_size ( & mut self , val : u8 ) { let mask = 0xfe as u8 ; let val = val as u8 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u8 , size : u8 ) -> u8 { ( ( 0 | ( ( isptr as u8 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( size as u8 as u8 ) << 1usize ) & ( 0xfe as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc16_t { pub _bitfield_1 : u16 , pub offset : u16 , } # [ test ] fn bindgen_test_layout_jl_fielddesc16_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc16_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc16_t > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc16_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc16_t ) ) . offset as * const _ as usize } , 2usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc16_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc16_t { # [ inline ] pub fn isptr ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0x1 as u16 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u16 ) { let mask = 0x1 as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u16 { let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; let mask = 0xfffe as u16 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u16 ) } } # [ inline ] pub fn set_size ( & mut self , val : u16 ) { let mask = 0xfffe as u16 ; let val = val as u16 as u16 ; let mut unit_field_val : u16 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u16 as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u16 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u16 , size : u16 ) -> u16 { ( ( 0 | ( ( isptr as u16 as u16 ) << 0usize ) & ( 0x1 as u16 ) ) | ( ( size as u16 as u16 ) << 1usize ) & ( 0xfffe as u16 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_fielddesc32_t { pub _bitfield_1 : u32 , pub offset : u32 , } # [ test ] fn bindgen_test_layout_jl_fielddesc32_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_fielddesc32_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_fielddesc32_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_fielddesc32_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_fielddesc32_t ) ) . offset as * const _ as usize } , 4usize , concat ! ( "Alignment of field: " , stringify ! ( jl_fielddesc32_t ) , "::" , stringify ! ( offset ) ) ) ; } impl jl_fielddesc32_t { # [ inline ] pub fn isptr ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1 as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_isptr ( & mut self , val : u32 ) { let mask = 0x1 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn size ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xfffffffe as u32 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_size ( & mut self , val : u32 ) { let mask = 0xfffffffe as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( isptr : u32 , size : u32 ) -> u32 { ( ( 0 | ( ( isptr as u32 as u32 ) << 0usize ) & ( 0x1 as u32 ) ) | ( ( size as u32 as u32 ) << 1usize ) & ( 0xfffffffe as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_datatype_layout_t { pub nfields : u32 , pub _bitfield_1 : u32 , } # [ test ] fn bindgen_test_layout_jl_datatype_layout_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_datatype_layout_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_datatype_layout_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( jl_datatype_layout_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_datatype_layout_t ) ) . nfields as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_datatype_layout_t ) , "::" , stringify ! ( nfields ) ) ) ; } impl jl_datatype_layout_t { # [ inline ] pub fn alignment ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x1ff as u32 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_alignment ( & mut self , val : u32 ) { let mask = 0x1ff as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn haspadding ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x200 as u32 ; let val = ( unit_field_val & mask ) >> 9usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_haspadding ( & mut self , val : u32 ) { let mask = 0x200 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 9usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn npointers ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0x3ffffc00 as u32 ; let val = ( unit_field_val & mask ) >> 10usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_npointers ( & mut self , val : u32 ) { let mask = 0x3ffffc00 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 10usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn fielddesc_type ( & self ) -> u32 { let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; let mask = 0xc0000000 as u32 ; let val = ( unit_field_val & mask ) >> 30usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_fielddesc_type ( & mut self , val : u32 ) { let mask = 0xc0000000 as u32 ; let val = val as u32 as u32 ; let mut unit_field_val : u32 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u32 as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 30usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u32 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( alignment : u32 , haspadding : u32 , npointers : u32 , fielddesc_type : u32 ) -> u32 { ( ( ( ( 0 | ( ( alignment as u32 as u32 ) << 0usize ) & ( 0x1ff as u32 ) ) | ( ( haspadding as u32 as u32 ) << 9usize ) & ( 0x200 as u32 ) ) | ( ( npointers as u32 as u32 ) << 10usize ) & ( 0x3ffffc00 as u32 ) ) | ( ( fielddesc_type as u32 as u32 ) << 30usize ) & ( 0xc0000000 as u32 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_datatype_t { pub name : * mut jl_typename_t , pub super_ : * mut _jl_datatype_t , pub parameters : * mut jl_svec_t , pub types : * mut jl_svec_t , pub instance : * mut jl_value_t , pub layout : * const jl_datatype_layout_t , pub size : i32 , pub ninitialized : i32 , pub uid : u32 , pub abstract_ : u8 , pub mutabl : u8 , pub struct_decl : * mut :: std :: os :: raw :: c_void , pub ditype : * mut :: std :: os :: raw :: c_void , pub depth : i32 , pub hasfreetypevars : i8 , pub isleaftype : i8 , } # [ test ] fn bindgen_test_layout__jl_datatype_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_datatype_t > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_datatype_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_datatype_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . super_ as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( super_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . parameters as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( parameters ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . types as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( types ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . instance as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( instance ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . layout as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( layout ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . size as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( size ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ninitialized as * const _ as usize } , 52usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ninitialized ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . uid as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . abstract_ as * const _ as usize } , 60usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( abstract_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . mutabl as * const _ as usize } , 61usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( mutabl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . struct_decl as * const _ as usize } , 64usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( struct_decl ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . ditype as * const _ as usize } , 72usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( ditype ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . depth as * const _ as usize } , 80usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . hasfreetypevars as * const _ as usize } , 84usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( hasfreetypevars ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_datatype_t ) ) . isleaftype as * const _ as usize } , 85usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_datatype_t ) , "::" , stringify ! ( isleaftype ) ) ) ; } pub type jl_datatype_t = _jl_datatype_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_weakref_t { pub value : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_weakref_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_weakref_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_weakref_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_weakref_t ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_weakref_t ) , "::" , stringify ! ( value ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_binding_t { pub name : * mut jl_sym_t , pub value : * mut jl_value_t , pub globalref : * mut jl_value_t , pub owner : * mut _jl_module_t , pub _bitfield_1 : u8 , pub __bindgen_padding_0 : [ u8 ; 7usize ] , } # [ test ] fn bindgen_test_layout_jl_binding_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_binding_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_binding_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_binding_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . value as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . globalref as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( globalref ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_binding_t ) ) . owner as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( jl_binding_t ) , "::" , stringify ! ( owner ) ) ) ; } impl jl_binding_t { # [ inline ] pub fn constp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x1 as u8 ; let val = ( unit_field_val & mask ) >> 0usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_constp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x1 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 0usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn exportp ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x2 as u8 ; let val = ( unit_field_val & mask ) >> 1usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_exportp ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x2 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 1usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn imported ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x4 as u8 ; let val = ( unit_field_val & mask ) >> 2usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_imported ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x4 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 2usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn deprecated ( & self ) -> :: std :: os :: raw :: c_uint { let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; let mask = 0x8 as u8 ; let val = ( unit_field_val & mask ) >> 3usize ; unsafe { :: std :: mem :: transmute ( val as u32 ) } } # [ inline ] pub fn set_deprecated ( & mut self , val : :: std :: os :: raw :: c_uint ) { let mask = 0x8 as u8 ; let val = val as u32 as u8 ; let mut unit_field_val : u8 = unsafe { :: std :: mem :: uninitialized ( ) } ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & self . _bitfield_1 as * const _ as * const u8 , & mut unit_field_val as * mut u8 as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) } ; unit_field_val &= ! mask ; unit_field_val |= ( val << 3usize ) & mask ; unsafe { :: std :: ptr :: copy_nonoverlapping ( & unit_field_val as * const _ as * const u8 , & mut self . _bitfield_1 as * mut _ as * mut u8 , :: std :: mem :: size_of :: < u8 > ( ) , ) ; } } # [ inline ] pub fn new_bitfield_1 ( constp : :: std :: os :: raw :: c_uint , exportp : :: std :: os :: raw :: c_uint , imported : :: std :: os :: raw :: c_uint , deprecated : :: std :: os :: raw :: c_uint ) -> u8 { ( ( ( ( 0 | ( ( constp as u32 as u8 ) << 0usize ) & ( 0x1 as u8 ) ) | ( ( exportp as u32 as u8 ) << 1usize ) & ( 0x2 as u8 ) ) | ( ( imported as u32 as u8 ) << 2usize ) & ( 0x4 as u8 ) ) | ( ( deprecated as u32 as u8 ) << 3usize ) & ( 0x8 as u8 ) ) } } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _jl_module_t { pub name : * mut jl_sym_t , pub parent : * mut _jl_module_t , pub bindings : htable_t , pub usings : arraylist_t , pub istopmod : u8 , pub uuid : u64 , pub primary_world : usize , pub counter : u32 , } # [ test ] fn bindgen_test_layout__jl_module_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_module_t > ( ) , 576usize , concat ! ( "Size of: " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_module_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_module_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . parent as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( parent ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . bindings as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( bindings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . usings as * const _ as usize } , 288usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( usings ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . istopmod as * const _ as usize } , 544usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( istopmod ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . uuid as * const _ as usize } , 552usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( uuid ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . primary_world as * const _ as usize } , 560usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( primary_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_module_t ) ) . counter as * const _ as usize } , 568usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_module_t ) , "::" , stringify ! ( counter ) ) ) ; } pub type jl_module_t = _jl_module_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_entry_t { pub next : * mut _jl_typemap_entry_t , pub sig : * mut jl_tupletype_t , pub simplesig : * mut jl_tupletype_t , pub guardsigs : * mut jl_svec_t , pub min_world : usize , pub max_world : usize , pub func : _jl_typemap_entry_t__bindgen_ty_1 , pub isleafsig : i8 , pub issimplesig : i8 , pub va : i8 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union _jl_typemap_entry_t__bindgen_ty_1 { pub value : * mut jl_value_t , pub linfo : * mut jl_method_instance_t , pub method : * mut jl_method_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . value as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( value ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . linfo as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( linfo ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t__bindgen_ty_1 ) ) . method as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t__bindgen_ty_1 ) , "::" , stringify ! ( method ) ) ) ; } # [ test ] fn bindgen_test_layout__jl_typemap_entry_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_entry_t > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_entry_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_entry_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . next as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( next ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . sig as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( sig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . simplesig as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( simplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . guardsigs as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( guardsigs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . min_world as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( min_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . max_world as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( max_world ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . func as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( func ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . isleafsig as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( isleafsig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . issimplesig as * const _ as usize } , 57usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( issimplesig ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_entry_t ) ) . va as * const _ as usize } , 58usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_entry_t ) , "::" , stringify ! ( va ) ) ) ; } pub type jl_typemap_entry_t = _jl_typemap_entry_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_ordereddict_t { pub indexes : * mut jl_array_t , pub values : * mut jl_array_t , } # [ test ] fn bindgen_test_layout_jl_ordereddict_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_ordereddict_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_ordereddict_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_ordereddict_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . indexes as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( indexes ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_ordereddict_t ) ) . values as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_ordereddict_t ) , "::" , stringify ! ( values ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_typemap_level_t { pub arg1 : jl_ordereddict_t , pub targ : jl_ordereddict_t , pub linear : * mut jl_typemap_entry_t , pub any : jl_typemap_t , pub key : * mut jl_value_t , } # [ test ] fn bindgen_test_layout__jl_typemap_level_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_typemap_level_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_typemap_level_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_typemap_level_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . arg1 as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( arg1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . targ as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( targ ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . linear as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( linear ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . any as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( any ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_typemap_level_t ) ) . key as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_typemap_level_t ) , "::" , stringify ! ( key ) ) ) ; } pub type jl_typemap_level_t = _jl_typemap_level_t ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _jl_methtable_t { pub name : * mut jl_sym_t , pub defs : jl_typemap_t , pub cache : jl_typemap_t , pub max_args : isize , pub kwsorter : * mut jl_value_t , pub module : * mut jl_module_t , pub backedges : * mut jl_array_t , pub writelock : jl_mutex_t , } # [ test ] fn bindgen_test_layout__jl_methtable_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _jl_methtable_t > ( ) , 72usize , concat ! ( "Size of: " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _jl_methtable_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _jl_methtable_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . name as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( name ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . defs as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( defs ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . cache as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( cache ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . max_args as * const _ as usize } , 24usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( max_args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . kwsorter as * const _ as usize } , 32usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( kwsorter ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . module as * const _ as usize } , 40usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( module ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . backedges as * const _ as usize } , 48usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( backedges ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const _jl_methtable_t ) ) . writelock as * const _ as usize } , 56usize , concat ! ( "Alignment of field: " , stringify ! ( _jl_methtable_t ) , "::" , stringify ! ( writelock ) ) ) ; } pub type jl_methtable_t = _jl_methtable_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct jl_expr_t { pub head : * mut jl_sym_t , pub args : * mut jl_array_t , pub etype : * mut jl_value_t , } # [ test ] fn bindgen_test_layout_jl_expr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < jl_expr_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < jl_expr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( jl_expr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . head as * const _ as usize } , 0usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( head ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . args as * const _ as usize } , 8usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( args ) ) ) ; assert_eq ! ( unsafe { & ( * ( 0 as * const jl_expr_t ) ) . etype as * const _ as usize } , 16usize , concat ! ( "Alignment of field: " , stringify ! ( jl_expr_t ) , "::" , stringify ! ( etype ) ) ) ; } extern "C" { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> /opt/rustwide/target/debug/build/julia-sys-0300c21a9667b272/out/bindings.rs:2884:45612 [INFO] [stderr] | [WARN] too much data in the log, truncating it