[INFO] crate sg 0.3.0 is already in cache [INFO] extracting crate sg 0.3.0 into work/ex/clippy-test-run/sources/stable/reg/sg/0.3.0 [INFO] extracting crate sg 0.3.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sg/0.3.0 [INFO] validating manifest of sg-0.3.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of sg-0.3.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing sg-0.3.0 [INFO] finished frobbing sg-0.3.0 [INFO] frobbed toml for sg-0.3.0 written to work/ex/clippy-test-run/sources/stable/reg/sg/0.3.0/Cargo.toml [INFO] started frobbing sg-0.3.0 [INFO] finished frobbing sg-0.3.0 [INFO] frobbed toml for sg-0.3.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sg/0.3.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting sg-0.3.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/sg/0.3.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] a6b4d47cf8b890db44218ac6bf67af0fbd9e46a68c241fbfb6f975481f68d6e3 [INFO] running `"docker" "start" "-a" "a6b4d47cf8b890db44218ac6bf67af0fbd9e46a68c241fbfb6f975481f68d6e3"` [INFO] [stderr] Compiling bindgen v0.43.2 [INFO] [stderr] Compiling clang-sys v0.26.4 [INFO] [stderr] Compiling libloading v0.5.0 [INFO] [stderr] Compiling nom v4.1.1 [INFO] [stderr] Compiling cexpr v0.3.4 [INFO] [stderr] Compiling sg v0.3.0 (/opt/crater/workdir) [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:327 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^ help: consider: `200_809` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:865 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^ help: consider: `201_605` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:327 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^ help: consider: `200_809` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:865 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^ help: consider: `201_605` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18456 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18656 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18735 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18841 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19043 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19122 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19226 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19426 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19505 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19611 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19814 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19894 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19998 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20200 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20281 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20813 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20860 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(twelve_byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20969 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21018 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(target_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21127 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21174 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(host_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21284 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21333 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(driver_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21444 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21491 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(other_flags)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/lib.rs:255:18 [INFO] [stderr] | [INFO] [stderr] 255 | hdrs.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `sg`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18456 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_transmute)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18656 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18735 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:18841 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19043 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19122 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19226 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19426 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19505 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19611 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19814 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19894 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:19998 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20200 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20281 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(val)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20813 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20860 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(twelve_byte)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:20969 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21018 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(target_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21127 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21174 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(host_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21284 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21333 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(driver_status)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: transmute from a type (`u32`) to itself [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21444 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [INFO] [stderr] [INFO] [stderr] warning: casting u32 to u64 may become silently lossy if types change [INFO] [stderr] --> /opt/crater/target/debug/build/sg-4915fee427c12251/out/bindings.rs:108:21491 [INFO] [stderr] | [INFO] [stderr] 108 | pub const _SCSI_SG_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const SG_DXFER_NONE : i32 = -1 ; pub const SG_DXFER_TO_DEV : i32 = -2 ; pub const SG_DXFER_FROM_DEV : i32 = -3 ; pub const SG_DXFER_TO_FROM_DEV : i32 = -4 ; pub const SG_FLAG_DIRECT_IO : u32 = 1 ; pub const SG_FLAG_LUN_INHIBIT : u32 = 2 ; pub const SG_FLAG_NO_DXFER : u32 = 65536 ; pub const SG_INFO_OK_MASK : u32 = 1 ; pub const SG_INFO_OK : u32 = 0 ; pub const SG_INFO_CHECK : u32 = 1 ; pub const SG_INFO_DIRECT_IO_MASK : u32 = 6 ; pub const SG_INFO_INDIRECT_IO : u32 = 0 ; pub const SG_INFO_DIRECT_IO : u32 = 2 ; pub const SG_INFO_MIXED_IO : u32 = 4 ; pub const SG_EMULATED_HOST : u32 = 8707 ; pub const SG_SET_TRANSFORM : u32 = 8708 ; pub const SG_GET_TRANSFORM : u32 = 8709 ; pub const SG_SET_RESERVED_SIZE : u32 = 8821 ; pub const SG_GET_RESERVED_SIZE : u32 = 8818 ; pub const SG_GET_SCSI_ID : u32 = 8822 ; pub const SG_SET_FORCE_LOW_DMA : u32 = 8825 ; pub const SG_GET_LOW_DMA : u32 = 8826 ; pub const SG_SET_FORCE_PACK_ID : u32 = 8827 ; pub const SG_GET_PACK_ID : u32 = 8828 ; pub const SG_GET_NUM_WAITING : u32 = 8829 ; pub const SG_GET_SG_TABLESIZE : u32 = 8831 ; pub const SG_GET_VERSION_NUM : u32 = 8834 ; pub const SG_SCSI_RESET : u32 = 8836 ; pub const SG_SCSI_RESET_NOTHING : u32 = 0 ; pub const SG_SCSI_RESET_DEVICE : u32 = 1 ; pub const SG_SCSI_RESET_BUS : u32 = 2 ; pub const SG_SCSI_RESET_HOST : u32 = 3 ; pub const SG_IO : u32 = 8837 ; pub const SG_GET_REQUEST_TABLE : u32 = 8838 ; pub const SG_SET_KEEP_ORPHAN : u32 = 8839 ; pub const SG_GET_KEEP_ORPHAN : u32 = 8840 ; pub const SG_SCATTER_SZ : u32 = 32768 ; pub const SG_DEFAULT_RETRIES : u32 = 1 ; pub const SG_DEF_FORCE_LOW_DMA : u32 = 0 ; pub const SG_DEF_FORCE_PACK_ID : u32 = 0 ; pub const SG_DEF_KEEP_ORPHAN : u32 = 0 ; pub const SG_DEF_RESERVED_SIZE : u32 = 32768 ; pub const SG_MAX_QUEUE : u32 = 16 ; pub const SG_BIG_BUFF : u32 = 32768 ; pub const SG_MAX_SENSE : u32 = 16 ; pub const SG_SET_TIMEOUT : u32 = 8705 ; pub const SG_GET_TIMEOUT : u32 = 8706 ; pub const SG_GET_COMMAND_Q : u32 = 8816 ; pub const SG_SET_COMMAND_Q : u32 = 8817 ; pub const SG_SET_DEBUG : u32 = 8830 ; pub const SG_NEXT_CMD_LEN : u32 = 8835 ; pub const SG_DEF_COMMAND_Q : u32 = 0 ; pub const SG_DEF_UNDERRUN_FLAG : u32 = 0 ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_iovec { pub iov_base : * mut :: std :: os :: raw :: c_void , pub iov_len : usize , } # [ test ] fn bindgen_test_layout_sg_iovec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_iovec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_iovec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_iovec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_base as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_base ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_iovec > ( ) ) ) . iov_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_iovec ) , "::" , stringify ! ( iov_len ) ) ) ; } impl Default for sg_iovec { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_iovec_t = sg_iovec ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_hdr { pub interface_id : :: std :: os :: raw :: c_int , pub dxfer_direction : :: std :: os :: raw :: c_int , pub cmd_len : :: std :: os :: raw :: c_uchar , pub mx_sb_len : :: std :: os :: raw :: c_uchar , pub iovec_count : :: std :: os :: raw :: c_ushort , pub dxfer_len : :: std :: os :: raw :: c_uint , pub dxferp : * mut :: std :: os :: raw :: c_void , pub cmdp : * mut :: std :: os :: raw :: c_uchar , pub sbp : * mut :: std :: os :: raw :: c_uchar , pub timeout : :: std :: os :: raw :: c_uint , pub flags : :: std :: os :: raw :: c_uint , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub status : :: std :: os :: raw :: c_uchar , pub masked_status : :: std :: os :: raw :: c_uchar , pub msg_status : :: std :: os :: raw :: c_uchar , pub sb_len_wr : :: std :: os :: raw :: c_uchar , pub host_status : :: std :: os :: raw :: c_ushort , pub driver_status : :: std :: os :: raw :: c_ushort , pub resid : :: std :: os :: raw :: c_int , pub duration : :: std :: os :: raw :: c_uint , pub info : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_sg_io_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_io_hdr > ( ) , 88usize , concat ! ( "Size of: " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_io_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_io_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . interface_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( interface_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_direction as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_direction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmd_len as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmd_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . mx_sb_len as * const _ as usize } , 9usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( mx_sb_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . iovec_count as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( iovec_count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxfer_len as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxfer_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . dxferp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( dxferp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . cmdp as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( cmdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sbp as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . timeout as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( timeout ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . flags as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . pack_id as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . usr_ptr as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . status as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . masked_status as * const _ as usize } , 65usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( masked_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . msg_status as * const _ as usize } , 66usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( msg_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . sb_len_wr as * const _ as usize } , 67usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( sb_len_wr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . host_status as * const _ as usize } , 68usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( host_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . driver_status as * const _ as usize } , 70usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( driver_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . resid as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( resid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . duration as * const _ as usize } , 76usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_io_hdr > ( ) ) ) . info as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sg_io_hdr ) , "::" , stringify ! ( info ) ) ) ; } impl Default for sg_io_hdr { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_io_hdr_t = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_scsi_id { pub host_no : :: std :: os :: raw :: c_int , pub channel : :: std :: os :: raw :: c_int , pub scsi_id : :: std :: os :: raw :: c_int , pub lun : :: std :: os :: raw :: c_int , pub scsi_type : :: std :: os :: raw :: c_int , pub h_cmd_per_lun : :: std :: os :: raw :: c_short , pub d_queue_depth : :: std :: os :: raw :: c_short , pub unused : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout_sg_scsi_id ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_scsi_id > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_scsi_id > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . host_no as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( host_no ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . channel as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( channel ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . lun as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . scsi_type as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( scsi_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . h_cmd_per_lun as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( h_cmd_per_lun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . d_queue_depth as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( d_queue_depth ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_scsi_id > ( ) ) ) . unused as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sg_scsi_id ) , "::" , stringify ! ( unused ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_req_info { pub req_state : :: std :: os :: raw :: c_char , pub orphan : :: std :: os :: raw :: c_char , pub sg_io_owned : :: std :: os :: raw :: c_char , pub problem : :: std :: os :: raw :: c_char , pub pack_id : :: std :: os :: raw :: c_int , pub usr_ptr : * mut :: std :: os :: raw :: c_void , pub duration : :: std :: os :: raw :: c_uint , pub unused : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sg_req_info ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_req_info > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_req_info > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sg_req_info ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . req_state as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( req_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . orphan as * const _ as usize } , 1usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( orphan ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . sg_io_owned as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( sg_io_owned ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . problem as * const _ as usize } , 3usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( problem ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . pack_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . usr_ptr as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( usr_ptr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . duration as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( duration ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_req_info > ( ) ) ) . unused as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_req_info ) , "::" , stringify ! ( unused ) ) ) ; } impl Default for sg_req_info { fn default ( ) -> Self { unsafe { :: std :: mem :: zeroed ( ) } } } pub type sg_req_info_t = sg_req_info ; pub type Sg_io_hdr = sg_io_hdr ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sg_io_vec { _unused : [ u8 ; 0 ] , } pub type Sg_io_vec = sg_io_vec ; pub type Sg_scsi_id = sg_scsi_id ; pub type Sg_req_info = sg_req_info ; # [ repr ( C ) ] # [ derive ( Debug , Default , Copy , Clone ) ] pub struct sg_header { pub pack_len : :: std :: os :: raw :: c_int , pub reply_len : :: std :: os :: raw :: c_int , pub pack_id : :: std :: os :: raw :: c_int , pub result : :: std :: os :: raw :: c_int , pub _bitfield_1 : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > , pub sense_buffer : [ :: std :: os :: raw :: c_uchar ; 16usize ] , } # [ test ] fn bindgen_test_layout_sg_header ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sg_header > ( ) , 36usize , concat ! ( "Size of: " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sg_header > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sg_header ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_len as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . reply_len as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( reply_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . pack_id as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( pack_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . result as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( result ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sg_header > ( ) ) ) . sense_buffer as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( sg_header ) , "::" , stringify ! ( sense_buffer ) ) ) ; } impl sg_header { # [ inline ] pub fn twelve_byte ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 0usize , 1u8 ) as u32 ) } } # [ inline ] pub fn set_twelve_byte ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 0usize , 1u8 , val as u64 ) } } # [ inline ] pub fn target_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 1usize , 5u8 ) as u32 ) } } # [ inline ] pub fn set_target_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 1usize , 5u8 , val as u64 ) } } # [ inline ] pub fn host_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 6usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_host_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 6usize , 8u8 , val as u64 ) } } # [ inline ] pub fn driver_status ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 14usize , 8u8 ) as u32 ) } } # [ inline ] pub fn set_driver_status ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 14usize , 8u8 , val as u64 ) } } # [ inline ] pub fn other_flags ( & self ) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute ( self . _bitfield_1 . get ( 22usize , 10u8 ) as u32 ) } } # [ inline ] pub fn set_other_flags ( & mut self , val : :: std :: os :: raw :: c_uint ) { unsafe { let val : u32 = :: std :: mem :: transmute ( val ) ; self . _bitfield_1 . set ( 22usize , 10u8 , val as u64 ) } } # [ inline ] pub fn new_bitfield_1 ( twelve_byte : :: std :: os :: raw :: c_uint , target_status : :: std :: os :: raw :: c_uint , host_status : :: std :: os :: raw :: c_uint , driver_status : :: std :: os :: raw :: c_uint , other_flags : :: std :: os :: raw :: c_uint ) -> __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [ u8 ; 4usize ] , u16 > = Default :: default ( ) ; __bindgen_bitfield_unit . set ( 0usize , 1u8 , { let twelve_byte : u32 = unsafe { :: std :: mem :: transmute ( twelve_byte ) } ; twelve_byte as u64 } ) ; __bindgen_bitfield_unit . set ( 1usize , 5u8 , { let target_status : u32 = unsafe { :: std :: mem :: transmute ( target_status ) } ; target_status as u64 } ) ; __bindgen_bitfield_unit . set ( 6usize , 8u8 , { let host_status : u32 = unsafe { :: std :: mem :: transmute ( host_status ) } ; host_status as u64 } ) ; __bindgen_bitfield_unit . set ( 14usize , 8u8 , { let driver_status : u32 = unsafe { :: std :: mem :: transmute ( driver_status ) } ; driver_status as u64 } ) ; __bindgen_bitfield_unit . set ( 22usize , 10u8 , { let other_flags : u32 = unsafe { :: std :: mem :: transmute ( other_flags ) } ; other_flags as u64 } ) ; __bindgen_bitfield_unit } } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(other_flags)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: this .into_iter() call is equivalent to .iter() and will not move the array [INFO] [stderr] --> src/lib.rs:255:18 [INFO] [stderr] | [INFO] [stderr] 255 | hdrs.into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::into_iter_on_array)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_array [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `sg`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "a6b4d47cf8b890db44218ac6bf67af0fbd9e46a68c241fbfb6f975481f68d6e3"` [INFO] running `"docker" "rm" "-f" "a6b4d47cf8b890db44218ac6bf67af0fbd9e46a68c241fbfb6f975481f68d6e3"` [INFO] [stdout] a6b4d47cf8b890db44218ac6bf67af0fbd9e46a68c241fbfb6f975481f68d6e3