[INFO] fetching crate linux-usb-functionfs-sys 0.1.1... [INFO] checking linux-usb-functionfs-sys-0.1.1 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] extracting crate linux-usb-functionfs-sys 0.1.1 into /workspace/builds/worker-0-tc1/source [INFO] validating manifest of crates.io crate linux-usb-functionfs-sys 0.1.1 on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate linux-usb-functionfs-sys 0.1.1 [INFO] finished tweaking crates.io crate linux-usb-functionfs-sys 0.1.1 [INFO] tweaked toml for crates.io crate linux-usb-functionfs-sys 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 52 packages to latest compatible versions [INFO] [stderr] Adding bindgen v0.55.1 (available: v0.70.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding cexpr v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding cfg-if v0.1.10 (available: v1.0.0) [INFO] [stderr] Adding clap v2.34.0 (available: v4.5.18) [INFO] [stderr] Adding env_logger v0.7.1 (available: v0.11.5) [INFO] [stderr] Adding hermit-abi v0.1.19 (available: v0.4.0) [INFO] [stderr] Adding humantime v1.3.0 (available: v2.1.0) [INFO] [stderr] Adding nom v5.1.3 (available: v7.1.3) [INFO] [stderr] Adding peeking_take_while v0.1.2 (available: v1.0.0) [INFO] [stderr] Adding quick-error v1.2.3 (available: v2.0.1) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding shlex v0.1.1 (available: v1.3.0) [INFO] [stderr] Adding strsim v0.8.0 (available: v0.11.1) [INFO] [stderr] Adding textwrap v0.11.0 (available: v0.16.1) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding which v3.1.1 (available: v6.0.3) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c49eae30ff3bf8ebe9f921218dbfd7575df2f1a6d979327b74d270b725a71bd1 [INFO] running `Command { std: "docker" "start" "-a" "c49eae30ff3bf8ebe9f921218dbfd7575df2f1a6d979327b74d270b725a71bd1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c49eae30ff3bf8ebe9f921218dbfd7575df2f1a6d979327b74d270b725a71bd1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c49eae30ff3bf8ebe9f921218dbfd7575df2f1a6d979327b74d270b725a71bd1", kill_on_drop: false }` [INFO] [stdout] c49eae30ff3bf8ebe9f921218dbfd7575df2f1a6d979327b74d270b725a71bd1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b8585d9b2a0201222839b9251958466932d0fdc53983ba8d118f915745473e10 [INFO] running `Command { std: "docker" "start" "-a" "b8585d9b2a0201222839b9251958466932d0fdc53983ba8d118f915745473e10", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling nom v5.1.3 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling libloading v0.8.5 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling humantime v1.3.0 [INFO] [stderr] Compiling bindgen v0.55.1 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Compiling env_logger v0.7.1 [INFO] [stderr] Compiling linux-usb-functionfs-sys v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0507]: cannot move out of `self.bKeyData` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:49261 [INFO] [stdout] | [INFO] [stdout] 3 | ...e (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , ... [INFO] [stdout] | ----- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.bKeyData` has type `__IncompleteArrayField`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `__IncompleteArrayField` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const __BITS_PER_LONG : u32 = 64 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _IOC_NRBITS : u32 = 8 ; pub const _IOC_TYPEBITS : u32 = 8 ; pub const _IOC_SIZEBITS : u32 = 14 ; pub const _IOC_DIRBITS : u32 = 2 ; pub const _IOC_NRMASK : u32 = 255 ; pub const _IOC_TYPEMASK : u32 = 255 ; pub const _IOC_SIZEMASK : u32 = 16383 ; pub const _IOC_DIRMASK : u32 = 3 ; pub const _IOC_NRSHIFT : u32 = 0 ; pub const _IOC_TYPESHIFT : u32 = 8 ; pub const _IOC_SIZESHIFT : u32 = 16 ; pub const _IOC_DIRSHIFT : u32 = 30 ; pub const _IOC_NONE : u32 = 0 ; pub const _IOC_WRITE : u32 = 1 ; pub const _IOC_READ : u32 = 2 ; pub const IOC_IN : u32 = 1073741824 ; pub const IOC_OUT : u32 = 2147483648 ; pub const IOC_INOUT : u32 = 3221225472 ; pub const IOCSIZE_MASK : u32 = 1073676288 ; pub const IOCSIZE_SHIFT : u32 = 16 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const USB_DIR_OUT : u32 = 0 ; pub const USB_DIR_IN : u32 = 128 ; pub const USB_TYPE_MASK : u32 = 96 ; pub const USB_TYPE_STANDARD : u32 = 0 ; pub const USB_TYPE_CLASS : u32 = 32 ; pub const USB_TYPE_VENDOR : u32 = 64 ; pub const USB_TYPE_RESERVED : u32 = 96 ; pub const USB_RECIP_MASK : u32 = 31 ; pub const USB_RECIP_DEVICE : u32 = 0 ; pub const USB_RECIP_INTERFACE : u32 = 1 ; pub const USB_RECIP_ENDPOINT : u32 = 2 ; pub const USB_RECIP_OTHER : u32 = 3 ; pub const USB_RECIP_PORT : u32 = 4 ; pub const USB_RECIP_RPIPE : u32 = 5 ; pub const USB_REQ_GET_STATUS : u32 = 0 ; pub const USB_REQ_CLEAR_FEATURE : u32 = 1 ; pub const USB_REQ_SET_FEATURE : u32 = 3 ; pub const USB_REQ_SET_ADDRESS : u32 = 5 ; pub const USB_REQ_GET_DESCRIPTOR : u32 = 6 ; pub const USB_REQ_SET_DESCRIPTOR : u32 = 7 ; pub const USB_REQ_GET_CONFIGURATION : u32 = 8 ; pub const USB_REQ_SET_CONFIGURATION : u32 = 9 ; pub const USB_REQ_GET_INTERFACE : u32 = 10 ; pub const USB_REQ_SET_INTERFACE : u32 = 11 ; pub const USB_REQ_SYNCH_FRAME : u32 = 12 ; pub const USB_REQ_SET_SEL : u32 = 48 ; pub const USB_REQ_SET_ISOCH_DELAY : u32 = 49 ; pub const USB_REQ_SET_ENCRYPTION : u32 = 13 ; pub const USB_REQ_GET_ENCRYPTION : u32 = 14 ; pub const USB_REQ_RPIPE_ABORT : u32 = 14 ; pub const USB_REQ_SET_HANDSHAKE : u32 = 15 ; pub const USB_REQ_RPIPE_RESET : u32 = 15 ; pub const USB_REQ_GET_HANDSHAKE : u32 = 16 ; pub const USB_REQ_SET_CONNECTION : u32 = 17 ; pub const USB_REQ_SET_SECURITY_DATA : u32 = 18 ; pub const USB_REQ_GET_SECURITY_DATA : u32 = 19 ; pub const USB_REQ_SET_WUSB_DATA : u32 = 20 ; pub const USB_REQ_LOOPBACK_DATA_WRITE : u32 = 21 ; pub const USB_REQ_LOOPBACK_DATA_READ : u32 = 22 ; pub const USB_REQ_SET_INTERFACE_DS : u32 = 23 ; pub const USB_REQ_GET_PARTNER_PDO : u32 = 20 ; pub const USB_REQ_GET_BATTERY_STATUS : u32 = 21 ; pub const USB_REQ_SET_PDO : u32 = 22 ; pub const USB_REQ_GET_VDM : u32 = 23 ; pub const USB_REQ_SEND_VDM : u32 = 24 ; pub const USB_DEVICE_SELF_POWERED : u32 = 0 ; pub const USB_DEVICE_REMOTE_WAKEUP : u32 = 1 ; pub const USB_DEVICE_TEST_MODE : u32 = 2 ; pub const USB_DEVICE_BATTERY : u32 = 2 ; pub const USB_DEVICE_B_HNP_ENABLE : u32 = 3 ; pub const USB_DEVICE_WUSB_DEVICE : u32 = 3 ; pub const USB_DEVICE_A_HNP_SUPPORT : u32 = 4 ; pub const USB_DEVICE_A_ALT_HNP_SUPPORT : u32 = 5 ; pub const USB_DEVICE_DEBUG_MODE : u32 = 6 ; pub const USB_TEST_J : u32 = 1 ; pub const USB_TEST_K : u32 = 2 ; pub const USB_TEST_SE0_NAK : u32 = 3 ; pub const USB_TEST_PACKET : u32 = 4 ; pub const USB_TEST_FORCE_ENABLE : u32 = 5 ; pub const USB_STATUS_TYPE_STANDARD : u32 = 0 ; pub const USB_STATUS_TYPE_PTM : u32 = 1 ; pub const USB_DEVICE_U1_ENABLE : u32 = 48 ; pub const USB_DEVICE_U2_ENABLE : u32 = 49 ; pub const USB_DEVICE_LTM_ENABLE : u32 = 50 ; pub const USB_INTRF_FUNC_SUSPEND : u32 = 0 ; pub const USB_INTR_FUNC_SUSPEND_OPT_MASK : u32 = 65280 ; pub const USB_INTRF_FUNC_SUSPEND_LP : u32 = 256 ; pub const USB_INTRF_FUNC_SUSPEND_RW : u32 = 512 ; pub const USB_INTRF_STAT_FUNC_RW_CAP : u32 = 1 ; pub const USB_INTRF_STAT_FUNC_RW : u32 = 2 ; pub const USB_ENDPOINT_HALT : u32 = 0 ; pub const USB_DEV_STAT_U1_ENABLED : u32 = 2 ; pub const USB_DEV_STAT_U2_ENABLED : u32 = 3 ; pub const USB_DEV_STAT_LTM_ENABLED : u32 = 4 ; pub const USB_DEVICE_BATTERY_WAKE_MASK : u32 = 40 ; pub const USB_DEVICE_OS_IS_PD_AWARE : u32 = 41 ; pub const USB_DEVICE_POLICY_MODE : u32 = 42 ; pub const USB_PORT_PR_SWAP : u32 = 43 ; pub const USB_PORT_GOTO_MIN : u32 = 44 ; pub const USB_PORT_RETURN_POWER : u32 = 45 ; pub const USB_PORT_ACCEPT_PD_REQUEST : u32 = 46 ; pub const USB_PORT_REJECT_PD_REQUEST : u32 = 47 ; pub const USB_PORT_PORT_PD_RESET : u32 = 48 ; pub const USB_PORT_C_PORT_PD_CHANGE : u32 = 49 ; pub const USB_PORT_CABLE_PD_RESET : u32 = 50 ; pub const USB_DEVICE_CHARGING_POLICY : u32 = 54 ; pub const USB_DT_DEVICE : u32 = 1 ; pub const USB_DT_CONFIG : u32 = 2 ; pub const USB_DT_STRING : u32 = 3 ; pub const USB_DT_INTERFACE : u32 = 4 ; pub const USB_DT_ENDPOINT : u32 = 5 ; pub const USB_DT_DEVICE_QUALIFIER : u32 = 6 ; pub const USB_DT_OTHER_SPEED_CONFIG : u32 = 7 ; pub const USB_DT_INTERFACE_POWER : u32 = 8 ; pub const USB_DT_OTG : u32 = 9 ; pub const USB_DT_DEBUG : u32 = 10 ; pub const USB_DT_INTERFACE_ASSOCIATION : u32 = 11 ; pub const USB_DT_SECURITY : u32 = 12 ; pub const USB_DT_KEY : u32 = 13 ; pub const USB_DT_ENCRYPTION_TYPE : u32 = 14 ; pub const USB_DT_BOS : u32 = 15 ; pub const USB_DT_DEVICE_CAPABILITY : u32 = 16 ; pub const USB_DT_WIRELESS_ENDPOINT_COMP : u32 = 17 ; pub const USB_DT_WIRE_ADAPTER : u32 = 33 ; pub const USB_DT_RPIPE : u32 = 34 ; pub const USB_DT_CS_RADIO_CONTROL : u32 = 35 ; pub const USB_DT_PIPE_USAGE : u32 = 36 ; pub const USB_DT_SS_ENDPOINT_COMP : u32 = 48 ; pub const USB_DT_SSP_ISOC_ENDPOINT_COMP : u32 = 49 ; pub const USB_DT_CS_DEVICE : u32 = 33 ; pub const USB_DT_CS_CONFIG : u32 = 34 ; pub const USB_DT_CS_STRING : u32 = 35 ; pub const USB_DT_CS_INTERFACE : u32 = 36 ; pub const USB_DT_CS_ENDPOINT : u32 = 37 ; pub const USB_DT_DEVICE_SIZE : u32 = 18 ; pub const USB_CLASS_PER_INTERFACE : u32 = 0 ; pub const USB_CLASS_AUDIO : u32 = 1 ; pub const USB_CLASS_COMM : u32 = 2 ; pub const USB_CLASS_HID : u32 = 3 ; pub const USB_CLASS_PHYSICAL : u32 = 5 ; pub const USB_CLASS_STILL_IMAGE : u32 = 6 ; pub const USB_CLASS_PRINTER : u32 = 7 ; pub const USB_CLASS_MASS_STORAGE : u32 = 8 ; pub const USB_CLASS_HUB : u32 = 9 ; pub const USB_CLASS_CDC_DATA : u32 = 10 ; pub const USB_CLASS_CSCID : u32 = 11 ; pub const USB_CLASS_CONTENT_SEC : u32 = 13 ; pub const USB_CLASS_VIDEO : u32 = 14 ; pub const USB_CLASS_WIRELESS_CONTROLLER : u32 = 224 ; pub const USB_CLASS_PERSONAL_HEALTHCARE : u32 = 15 ; pub const USB_CLASS_AUDIO_VIDEO : u32 = 16 ; pub const USB_CLASS_BILLBOARD : u32 = 17 ; pub const USB_CLASS_USB_TYPE_C_BRIDGE : u32 = 18 ; pub const USB_CLASS_MISC : u32 = 239 ; pub const USB_CLASS_APP_SPEC : u32 = 254 ; pub const USB_CLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_SUBCLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_DT_CONFIG_SIZE : u32 = 9 ; pub const USB_CONFIG_ATT_ONE : u32 = 128 ; pub const USB_CONFIG_ATT_SELFPOWER : u32 = 64 ; pub const USB_CONFIG_ATT_WAKEUP : u32 = 32 ; pub const USB_CONFIG_ATT_BATTERY : u32 = 16 ; pub const USB_MAX_STRING_LEN : u32 = 126 ; pub const USB_DT_INTERFACE_SIZE : u32 = 9 ; pub const USB_DT_ENDPOINT_SIZE : u32 = 7 ; pub const USB_DT_ENDPOINT_AUDIO_SIZE : u32 = 9 ; pub const USB_ENDPOINT_NUMBER_MASK : u32 = 15 ; pub const USB_ENDPOINT_DIR_MASK : u32 = 128 ; pub const USB_ENDPOINT_XFERTYPE_MASK : u32 = 3 ; pub const USB_ENDPOINT_XFER_CONTROL : u32 = 0 ; pub const USB_ENDPOINT_XFER_ISOC : u32 = 1 ; pub const USB_ENDPOINT_XFER_BULK : u32 = 2 ; pub const USB_ENDPOINT_XFER_INT : u32 = 3 ; pub const USB_ENDPOINT_MAX_ADJUSTABLE : u32 = 128 ; pub const USB_ENDPOINT_MAXP_MASK : u32 = 2047 ; pub const USB_EP_MAXP_MULT_SHIFT : u32 = 11 ; pub const USB_EP_MAXP_MULT_MASK : u32 = 6144 ; pub const USB_ENDPOINT_INTRTYPE : u32 = 48 ; pub const USB_ENDPOINT_INTR_PERIODIC : u32 = 0 ; pub const USB_ENDPOINT_INTR_NOTIFICATION : u32 = 16 ; pub const USB_ENDPOINT_SYNCTYPE : u32 = 12 ; pub const USB_ENDPOINT_SYNC_NONE : u32 = 0 ; pub const USB_ENDPOINT_SYNC_ASYNC : u32 = 4 ; pub const USB_ENDPOINT_SYNC_ADAPTIVE : u32 = 8 ; pub const USB_ENDPOINT_SYNC_SYNC : u32 = 12 ; pub const USB_ENDPOINT_USAGE_MASK : u32 = 48 ; pub const USB_ENDPOINT_USAGE_DATA : u32 = 0 ; pub const USB_ENDPOINT_USAGE_FEEDBACK : u32 = 16 ; pub const USB_ENDPOINT_USAGE_IMPLICIT_FB : u32 = 32 ; pub const USB_DT_SSP_ISOC_EP_COMP_SIZE : u32 = 8 ; pub const USB_DT_SS_EP_COMP_SIZE : u32 = 6 ; pub const USB_OTG_SRP : u32 = 1 ; pub const USB_OTG_HNP : u32 = 2 ; pub const USB_OTG_ADP : u32 = 4 ; pub const OTG_STS_SELECTOR : u32 = 61440 ; pub const USB_DT_INTERFACE_ASSOCIATION_SIZE : u32 = 8 ; pub const USB_ENC_TYPE_UNSECURE : u32 = 0 ; pub const USB_ENC_TYPE_WIRED : u32 = 1 ; pub const USB_ENC_TYPE_CCM_1 : u32 = 2 ; pub const USB_ENC_TYPE_RSA_1 : u32 = 3 ; pub const USB_DT_BOS_SIZE : u32 = 5 ; pub const USB_CAP_TYPE_WIRELESS_USB : u32 = 1 ; pub const USB_WIRELESS_P2P_DRD : u32 = 2 ; pub const USB_WIRELESS_BEACON_MASK : u32 = 12 ; pub const USB_WIRELESS_BEACON_SELF : u32 = 4 ; pub const USB_WIRELESS_BEACON_DIRECTED : u32 = 8 ; pub const USB_WIRELESS_BEACON_NONE : u32 = 12 ; pub const USB_WIRELESS_PHY_53 : u32 = 1 ; pub const USB_WIRELESS_PHY_80 : u32 = 2 ; pub const USB_WIRELESS_PHY_107 : u32 = 4 ; pub const USB_WIRELESS_PHY_160 : u32 = 8 ; pub const USB_WIRELESS_PHY_200 : u32 = 16 ; pub const USB_WIRELESS_PHY_320 : u32 = 32 ; pub const USB_WIRELESS_PHY_400 : u32 = 64 ; pub const USB_WIRELESS_PHY_480 : u32 = 128 ; pub const USB_DT_USB_WIRELESS_CAP_SIZE : u32 = 11 ; pub const USB_CAP_TYPE_EXT : u32 = 2 ; pub const USB_LPM_SUPPORT : u32 = 2 ; pub const USB_BESL_SUPPORT : u32 = 4 ; pub const USB_BESL_BASELINE_VALID : u32 = 8 ; pub const USB_BESL_DEEP_VALID : u32 = 16 ; pub const USB_DT_USB_EXT_CAP_SIZE : u32 = 7 ; pub const USB_SS_CAP_TYPE : u32 = 3 ; pub const USB_LTM_SUPPORT : u32 = 2 ; pub const USB_LOW_SPEED_OPERATION : u32 = 1 ; pub const USB_FULL_SPEED_OPERATION : u32 = 2 ; pub const USB_HIGH_SPEED_OPERATION : u32 = 4 ; pub const USB_5GBPS_OPERATION : u32 = 8 ; pub const USB_DT_USB_SS_CAP_SIZE : u32 = 10 ; pub const CONTAINER_ID_TYPE : u32 = 4 ; pub const USB_DT_USB_SS_CONTN_ID_SIZE : u32 = 20 ; pub const USB_SSP_CAP_TYPE : u32 = 10 ; pub const USB_SSP_SUBLINK_SPEED_ATTRIBS : u32 = 31 ; pub const USB_SSP_SUBLINK_SPEED_IDS : u32 = 480 ; pub const USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID : u32 = 15 ; pub const USB_SSP_MIN_RX_LANE_COUNT : u32 = 3840 ; pub const USB_SSP_MIN_TX_LANE_COUNT : u32 = 61440 ; pub const USB_SSP_SUBLINK_SPEED_SSID : u32 = 15 ; pub const USB_SSP_SUBLINK_SPEED_LSE : u32 = 48 ; pub const USB_SSP_SUBLINK_SPEED_LSE_BPS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LSE_KBPS : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSE_MBPS : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_LSE_GBPS : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_ST : u32 = 192 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_RX : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_RX : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_TX : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_TX : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_RSVD : u32 = 16128 ; pub const USB_SSP_SUBLINK_SPEED_LP : u32 = 49152 ; pub const USB_SSP_SUBLINK_SPEED_LP_SS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LP_SSP : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSM : u32 = 16711680 ; pub const USB_PD_POWER_DELIVERY_CAPABILITY : u32 = 6 ; pub const USB_PD_BATTERY_INFO_CAPABILITY : u32 = 7 ; pub const USB_PD_PD_CONSUMER_PORT_CAPABILITY : u32 = 8 ; pub const USB_PD_PD_PROVIDER_PORT_CAPABILITY : u32 = 9 ; pub const USB_PD_CAP_BATTERY_CHARGING : u32 = 2 ; pub const USB_PD_CAP_USB_PD : u32 = 4 ; pub const USB_PD_CAP_PROVIDER : u32 = 8 ; pub const USB_PD_CAP_CONSUMER : u32 = 16 ; pub const USB_PD_CAP_CHARGING_POLICY : u32 = 32 ; pub const USB_PD_CAP_TYPE_C_CURRENT : u32 = 64 ; pub const USB_PD_CAP_PWR_AC : u32 = 256 ; pub const USB_PD_CAP_PWR_BAT : u32 = 512 ; pub const USB_PD_CAP_PWR_USE_V_BUS : u32 = 16384 ; pub const USB_PD_CAP_CONSUMER_BC : u32 = 1 ; pub const USB_PD_CAP_CONSUMER_PD : u32 = 2 ; pub const USB_PD_CAP_CONSUMER_TYPE_C : u32 = 4 ; pub const USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME : u32 = 65535 ; pub const USB_PD_CAP_PROVIDER_BC : u32 = 1 ; pub const USB_PD_CAP_PROVIDER_PD : u32 = 2 ; pub const USB_PD_CAP_PROVIDER_TYPE_C : u32 = 4 ; pub const USB_PTM_CAP_TYPE : u32 = 11 ; pub const USB_DT_USB_PTM_ID_SIZE : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_MASK : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_NO : u32 = 0 ; pub const USB_ENDPOINT_SWITCH_SWITCH : u32 = 1 ; pub const USB_ENDPOINT_SWITCH_SCALE : u32 = 2 ; pub const USB3_LPM_DISABLED : u32 = 0 ; pub const USB3_LPM_U1_MAX_TIMEOUT : u32 = 127 ; pub const USB3_LPM_U2_MAX_TIMEOUT : u32 = 254 ; pub const USB3_LPM_DEVICE_INITIATED : u32 = 255 ; pub const USB3_LPM_MAX_U1_SEL_PEL : u32 = 255 ; pub const USB3_LPM_MAX_U2_SEL_PEL : u32 = 65535 ; pub const USB_SELF_POWER_VBUS_MAX_DRAW : u32 = 100 ; pub type __s8 = :: std :: os :: raw :: c_schar ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __s16 = :: std :: os :: raw :: c_short ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __s64 = :: std :: os :: raw :: c_longlong ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fd_set { pub fds_bits : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___kernel_fd_set () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (__kernel_fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (__kernel_fd_set))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fd_set > ())) . fds_bits as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fd_set) , "::" , stringify ! (fds_bits))) ; } pub type __kernel_sighandler_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int) > ; pub type __kernel_key_t = :: std :: os :: raw :: c_int ; pub type __kernel_mqd_t = :: std :: os :: raw :: c_int ; pub type __kernel_old_uid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_gid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_dev_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_long_t = :: std :: os :: raw :: c_long ; pub type __kernel_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_ino_t = __kernel_ulong_t ; pub type __kernel_mode_t = :: std :: os :: raw :: c_uint ; pub type __kernel_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_ipc_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_suseconds_t = __kernel_long_t ; pub type __kernel_daddr_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_size_t = __kernel_ulong_t ; pub type __kernel_ssize_t = __kernel_long_t ; pub type __kernel_ptrdiff_t = __kernel_long_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fsid_t { pub val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___kernel_fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fsid_t > ())) . val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fsid_t) , "::" , stringify ! (val))) ; } pub type __kernel_off_t = __kernel_long_t ; pub type __kernel_loff_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_old_time_t = __kernel_long_t ; pub type __kernel_time_t = __kernel_long_t ; pub type __kernel_time64_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_clock_t = __kernel_long_t ; pub type __kernel_timer_t = :: std :: os :: raw :: c_int ; pub type __kernel_clockid_t = :: std :: os :: raw :: c_int ; pub type __kernel_caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __kernel_uid16_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_gid16_t = :: std :: os :: raw :: c_ushort ; pub type __le16 = __u16 ; pub type __be16 = __u16 ; pub type __le32 = __u32 ; pub type __be32 = __u32 ; pub type __le64 = __u64 ; pub type __be64 = __u64 ; pub type __sum16 = __u16 ; pub type __wsum = __u32 ; pub type __poll_t = :: std :: os :: raw :: c_uint ; # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ctrlrequest { pub bRequestType : __u8 , pub bRequest : __u8 , pub wValue : __le16 , pub wIndex : __le16 , pub wLength : __le16 , } # [test] fn bindgen_test_layout_usb_ctrlrequest () { assert_eq ! (:: std :: mem :: size_of :: < usb_ctrlrequest > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ctrlrequest > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequestType as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequestType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequest as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wValue as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wIndex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wLength as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wLength))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_descriptor_header { pub bLength : __u8 , pub bDescriptorType : __u8 , } # [test] fn bindgen_test_layout_usb_descriptor_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_descriptor_header > () , 2usize , concat ! ("Size of: " , stringify ! (usb_descriptor_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_descriptor_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_descriptor_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bDescriptorType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_device_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub idVendor : __le16 , pub idProduct : __le16 , pub bcdDevice : __le16 , pub iManufacturer : __u8 , pub iProduct : __u8 , pub iSerialNumber : __u8 , pub bNumConfigurations : __u8 , } # [test] fn bindgen_test_layout_usb_device_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_device_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_device_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_device_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_device_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idVendor as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idVendor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idProduct as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdDevice as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdDevice))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iManufacturer as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iProduct as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iSerialNumber as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iSerialNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bNumConfigurations as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bNumConfigurations))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_config_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumInterfaces : __u8 , pub bConfigurationValue : __u8 , pub iConfiguration : __u8 , pub bmAttributes : __u8 , pub bMaxPower : __u8 , } # [test] fn bindgen_test_layout_usb_config_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_config_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_config_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_config_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_config_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bNumInterfaces as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bNumInterfaces))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bConfigurationValue as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bConfigurationValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . iConfiguration as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (iConfiguration))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bmAttributes as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bMaxPower as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bMaxPower))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_string_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wData : [__le16 ; 1usize] , } # [test] fn bindgen_test_layout_usb_string_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_string_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_string_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_string_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_string_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . wData as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (wData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bInterfaceNumber : __u8 , pub bAlternateSetting : __u8 , pub bNumEndpoints : __u8 , pub bInterfaceClass : __u8 , pub bInterfaceSubClass : __u8 , pub bInterfaceProtocol : __u8 , pub iInterface : __u8 , } # [test] fn bindgen_test_layout_usb_interface_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceNumber as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bAlternateSetting as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bAlternateSetting))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bNumEndpoints as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bNumEndpoints))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceSubClass as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceProtocol as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . iInterface as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (iInterface))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_endpoint_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEndpointAddress : __u8 , pub bmAttributes : __u8 , pub wMaxPacketSize : __le16 , pub bInterval : __u8 , pub bRefresh : __u8 , pub bSynchAddress : __u8 , } # [test] fn bindgen_test_layout_usb_endpoint_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_endpoint_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_endpoint_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bEndpointAddress as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bEndpointAddress))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . wMaxPacketSize as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (wMaxPacketSize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bInterval as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bInterval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bRefresh as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bRefresh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bSynchAddress as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bSynchAddress))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_isoc_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wReseved : __le16 , pub dwBytesPerInterval : __le32 , } # [test] fn bindgen_test_layout_usb_ssp_isoc_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . wReseved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (wReseved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . dwBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (dwBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bMaxBurst : __u8 , pub bmAttributes : __u8 , pub wBytesPerInterval : __le16 , } # [test] fn bindgen_test_layout_usb_ss_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_ep_comp_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bMaxBurst as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bMaxBurst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . wBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (wBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_qualifier_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub bNumConfigurations : __u8 , pub bRESERVED : __u8 , } # [test] fn bindgen_test_layout_usb_qualifier_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_qualifier_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_qualifier_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bNumConfigurations as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bNumConfigurations))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bRESERVED as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bRESERVED))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , } # [test] fn bindgen_test_layout_usb_otg_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg_descriptor > () , 3usize , concat ! ("Size of: " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg20_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , pub bcdOTG : __le16 , } # [test] fn bindgen_test_layout_usb_otg20_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg20_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg20_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bcdOTG as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bcdOTG))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_debug_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDebugInEndpoint : __u8 , pub bDebugOutEndpoint : __u8 , } # [test] fn bindgen_test_layout_usb_debug_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_debug_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_debug_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugInEndpoint as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugInEndpoint))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugOutEndpoint as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugOutEndpoint))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_assoc_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bFirstInterface : __u8 , pub bInterfaceCount : __u8 , pub bFunctionClass : __u8 , pub bFunctionSubClass : __u8 , pub bFunctionProtocol : __u8 , pub iFunction : __u8 , } # [test] fn bindgen_test_layout_usb_interface_assoc_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_assoc_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_assoc_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFirstInterface as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFirstInterface))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bInterfaceCount as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bInterfaceCount))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . iFunction as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (iFunction))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_security_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumEncryptionTypes : __u8 , } # [test] fn bindgen_test_layout_usb_security_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_security_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_security_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_security_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_security_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bNumEncryptionTypes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bNumEncryptionTypes))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type ---------------------------------------------- you could clone this value [INFO] [stdout] = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour [INFO] [stdout] = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.wPowerDataObject` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:78693 [INFO] [stdout] | [INFO] [stdout] 3 | ...e (Debug)] pub struct usb_pd_cap_provider_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved1 : __u8 , pub bmCapabilities : __u8 , pub bNumOfPDObjects : __u8 , pub bReserved2 : __u8 , pub wPowerDataObject : __IncompleteArrayField < __le32 > , ... [INFO] [stdout] | ----- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.wPowerDataObject` has type `__IncompleteArrayField`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `__IncompleteArrayField` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const __BITS_PER_LONG : u32 = 64 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _IOC_NRBITS : u32 = 8 ; pub const _IOC_TYPEBITS : u32 = 8 ; pub const _IOC_SIZEBITS : u32 = 14 ; pub const _IOC_DIRBITS : u32 = 2 ; pub const _IOC_NRMASK : u32 = 255 ; pub const _IOC_TYPEMASK : u32 = 255 ; pub const _IOC_SIZEMASK : u32 = 16383 ; pub const _IOC_DIRMASK : u32 = 3 ; pub const _IOC_NRSHIFT : u32 = 0 ; pub const _IOC_TYPESHIFT : u32 = 8 ; pub const _IOC_SIZESHIFT : u32 = 16 ; pub const _IOC_DIRSHIFT : u32 = 30 ; pub const _IOC_NONE : u32 = 0 ; pub const _IOC_WRITE : u32 = 1 ; pub const _IOC_READ : u32 = 2 ; pub const IOC_IN : u32 = 1073741824 ; pub const IOC_OUT : u32 = 2147483648 ; pub const IOC_INOUT : u32 = 3221225472 ; pub const IOCSIZE_MASK : u32 = 1073676288 ; pub const IOCSIZE_SHIFT : u32 = 16 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const USB_DIR_OUT : u32 = 0 ; pub const USB_DIR_IN : u32 = 128 ; pub const USB_TYPE_MASK : u32 = 96 ; pub const USB_TYPE_STANDARD : u32 = 0 ; pub const USB_TYPE_CLASS : u32 = 32 ; pub const USB_TYPE_VENDOR : u32 = 64 ; pub const USB_TYPE_RESERVED : u32 = 96 ; pub const USB_RECIP_MASK : u32 = 31 ; pub const USB_RECIP_DEVICE : u32 = 0 ; pub const USB_RECIP_INTERFACE : u32 = 1 ; pub const USB_RECIP_ENDPOINT : u32 = 2 ; pub const USB_RECIP_OTHER : u32 = 3 ; pub const USB_RECIP_PORT : u32 = 4 ; pub const USB_RECIP_RPIPE : u32 = 5 ; pub const USB_REQ_GET_STATUS : u32 = 0 ; pub const USB_REQ_CLEAR_FEATURE : u32 = 1 ; pub const USB_REQ_SET_FEATURE : u32 = 3 ; pub const USB_REQ_SET_ADDRESS : u32 = 5 ; pub const USB_REQ_GET_DESCRIPTOR : u32 = 6 ; pub const USB_REQ_SET_DESCRIPTOR : u32 = 7 ; pub const USB_REQ_GET_CONFIGURATION : u32 = 8 ; pub const USB_REQ_SET_CONFIGURATION : u32 = 9 ; pub const USB_REQ_GET_INTERFACE : u32 = 10 ; pub const USB_REQ_SET_INTERFACE : u32 = 11 ; pub const USB_REQ_SYNCH_FRAME : u32 = 12 ; pub const USB_REQ_SET_SEL : u32 = 48 ; pub const USB_REQ_SET_ISOCH_DELAY : u32 = 49 ; pub const USB_REQ_SET_ENCRYPTION : u32 = 13 ; pub const USB_REQ_GET_ENCRYPTION : u32 = 14 ; pub const USB_REQ_RPIPE_ABORT : u32 = 14 ; pub const USB_REQ_SET_HANDSHAKE : u32 = 15 ; pub const USB_REQ_RPIPE_RESET : u32 = 15 ; pub const USB_REQ_GET_HANDSHAKE : u32 = 16 ; pub const USB_REQ_SET_CONNECTION : u32 = 17 ; pub const USB_REQ_SET_SECURITY_DATA : u32 = 18 ; pub const USB_REQ_GET_SECURITY_DATA : u32 = 19 ; pub const USB_REQ_SET_WUSB_DATA : u32 = 20 ; pub const USB_REQ_LOOPBACK_DATA_WRITE : u32 = 21 ; pub const USB_REQ_LOOPBACK_DATA_READ : u32 = 22 ; pub const USB_REQ_SET_INTERFACE_DS : u32 = 23 ; pub const USB_REQ_GET_PARTNER_PDO : u32 = 20 ; pub const USB_REQ_GET_BATTERY_STATUS : u32 = 21 ; pub const USB_REQ_SET_PDO : u32 = 22 ; pub const USB_REQ_GET_VDM : u32 = 23 ; pub const USB_REQ_SEND_VDM : u32 = 24 ; pub const USB_DEVICE_SELF_POWERED : u32 = 0 ; pub const USB_DEVICE_REMOTE_WAKEUP : u32 = 1 ; pub const USB_DEVICE_TEST_MODE : u32 = 2 ; pub const USB_DEVICE_BATTERY : u32 = 2 ; pub const USB_DEVICE_B_HNP_ENABLE : u32 = 3 ; pub const USB_DEVICE_WUSB_DEVICE : u32 = 3 ; pub const USB_DEVICE_A_HNP_SUPPORT : u32 = 4 ; pub const USB_DEVICE_A_ALT_HNP_SUPPORT : u32 = 5 ; pub const USB_DEVICE_DEBUG_MODE : u32 = 6 ; pub const USB_TEST_J : u32 = 1 ; pub const USB_TEST_K : u32 = 2 ; pub const USB_TEST_SE0_NAK : u32 = 3 ; pub const USB_TEST_PACKET : u32 = 4 ; pub const USB_TEST_FORCE_ENABLE : u32 = 5 ; pub const USB_STATUS_TYPE_STANDARD : u32 = 0 ; pub const USB_STATUS_TYPE_PTM : u32 = 1 ; pub const USB_DEVICE_U1_ENABLE : u32 = 48 ; pub const USB_DEVICE_U2_ENABLE : u32 = 49 ; pub const USB_DEVICE_LTM_ENABLE : u32 = 50 ; pub const USB_INTRF_FUNC_SUSPEND : u32 = 0 ; pub const USB_INTR_FUNC_SUSPEND_OPT_MASK : u32 = 65280 ; pub const USB_INTRF_FUNC_SUSPEND_LP : u32 = 256 ; pub const USB_INTRF_FUNC_SUSPEND_RW : u32 = 512 ; pub const USB_INTRF_STAT_FUNC_RW_CAP : u32 = 1 ; pub const USB_INTRF_STAT_FUNC_RW : u32 = 2 ; pub const USB_ENDPOINT_HALT : u32 = 0 ; pub const USB_DEV_STAT_U1_ENABLED : u32 = 2 ; pub const USB_DEV_STAT_U2_ENABLED : u32 = 3 ; pub const USB_DEV_STAT_LTM_ENABLED : u32 = 4 ; pub const USB_DEVICE_BATTERY_WAKE_MASK : u32 = 40 ; pub const USB_DEVICE_OS_IS_PD_AWARE : u32 = 41 ; pub const USB_DEVICE_POLICY_MODE : u32 = 42 ; pub const USB_PORT_PR_SWAP : u32 = 43 ; pub const USB_PORT_GOTO_MIN : u32 = 44 ; pub const USB_PORT_RETURN_POWER : u32 = 45 ; pub const USB_PORT_ACCEPT_PD_REQUEST : u32 = 46 ; pub const USB_PORT_REJECT_PD_REQUEST : u32 = 47 ; pub const USB_PORT_PORT_PD_RESET : u32 = 48 ; pub const USB_PORT_C_PORT_PD_CHANGE : u32 = 49 ; pub const USB_PORT_CABLE_PD_RESET : u32 = 50 ; pub const USB_DEVICE_CHARGING_POLICY : u32 = 54 ; pub const USB_DT_DEVICE : u32 = 1 ; pub const USB_DT_CONFIG : u32 = 2 ; pub const USB_DT_STRING : u32 = 3 ; pub const USB_DT_INTERFACE : u32 = 4 ; pub const USB_DT_ENDPOINT : u32 = 5 ; pub const USB_DT_DEVICE_QUALIFIER : u32 = 6 ; pub const USB_DT_OTHER_SPEED_CONFIG : u32 = 7 ; pub const USB_DT_INTERFACE_POWER : u32 = 8 ; pub const USB_DT_OTG : u32 = 9 ; pub const USB_DT_DEBUG : u32 = 10 ; pub const USB_DT_INTERFACE_ASSOCIATION : u32 = 11 ; pub const USB_DT_SECURITY : u32 = 12 ; pub const USB_DT_KEY : u32 = 13 ; pub const USB_DT_ENCRYPTION_TYPE : u32 = 14 ; pub const USB_DT_BOS : u32 = 15 ; pub const USB_DT_DEVICE_CAPABILITY : u32 = 16 ; pub const USB_DT_WIRELESS_ENDPOINT_COMP : u32 = 17 ; pub const USB_DT_WIRE_ADAPTER : u32 = 33 ; pub const USB_DT_RPIPE : u32 = 34 ; pub const USB_DT_CS_RADIO_CONTROL : u32 = 35 ; pub const USB_DT_PIPE_USAGE : u32 = 36 ; pub const USB_DT_SS_ENDPOINT_COMP : u32 = 48 ; pub const USB_DT_SSP_ISOC_ENDPOINT_COMP : u32 = 49 ; pub const USB_DT_CS_DEVICE : u32 = 33 ; pub const USB_DT_CS_CONFIG : u32 = 34 ; pub const USB_DT_CS_STRING : u32 = 35 ; pub const USB_DT_CS_INTERFACE : u32 = 36 ; pub const USB_DT_CS_ENDPOINT : u32 = 37 ; pub const USB_DT_DEVICE_SIZE : u32 = 18 ; pub const USB_CLASS_PER_INTERFACE : u32 = 0 ; pub const USB_CLASS_AUDIO : u32 = 1 ; pub const USB_CLASS_COMM : u32 = 2 ; pub const USB_CLASS_HID : u32 = 3 ; pub const USB_CLASS_PHYSICAL : u32 = 5 ; pub const USB_CLASS_STILL_IMAGE : u32 = 6 ; pub const USB_CLASS_PRINTER : u32 = 7 ; pub const USB_CLASS_MASS_STORAGE : u32 = 8 ; pub const USB_CLASS_HUB : u32 = 9 ; pub const USB_CLASS_CDC_DATA : u32 = 10 ; pub const USB_CLASS_CSCID : u32 = 11 ; pub const USB_CLASS_CONTENT_SEC : u32 = 13 ; pub const USB_CLASS_VIDEO : u32 = 14 ; pub const USB_CLASS_WIRELESS_CONTROLLER : u32 = 224 ; pub const USB_CLASS_PERSONAL_HEALTHCARE : u32 = 15 ; pub const USB_CLASS_AUDIO_VIDEO : u32 = 16 ; pub const USB_CLASS_BILLBOARD : u32 = 17 ; pub const USB_CLASS_USB_TYPE_C_BRIDGE : u32 = 18 ; pub const USB_CLASS_MISC : u32 = 239 ; pub const USB_CLASS_APP_SPEC : u32 = 254 ; pub const USB_CLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_SUBCLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_DT_CONFIG_SIZE : u32 = 9 ; pub const USB_CONFIG_ATT_ONE : u32 = 128 ; pub const USB_CONFIG_ATT_SELFPOWER : u32 = 64 ; pub const USB_CONFIG_ATT_WAKEUP : u32 = 32 ; pub const USB_CONFIG_ATT_BATTERY : u32 = 16 ; pub const USB_MAX_STRING_LEN : u32 = 126 ; pub const USB_DT_INTERFACE_SIZE : u32 = 9 ; pub const USB_DT_ENDPOINT_SIZE : u32 = 7 ; pub const USB_DT_ENDPOINT_AUDIO_SIZE : u32 = 9 ; pub const USB_ENDPOINT_NUMBER_MASK : u32 = 15 ; pub const USB_ENDPOINT_DIR_MASK : u32 = 128 ; pub const USB_ENDPOINT_XFERTYPE_MASK : u32 = 3 ; pub const USB_ENDPOINT_XFER_CONTROL : u32 = 0 ; pub const USB_ENDPOINT_XFER_ISOC : u32 = 1 ; pub const USB_ENDPOINT_XFER_BULK : u32 = 2 ; pub const USB_ENDPOINT_XFER_INT : u32 = 3 ; pub const USB_ENDPOINT_MAX_ADJUSTABLE : u32 = 128 ; pub const USB_ENDPOINT_MAXP_MASK : u32 = 2047 ; pub const USB_EP_MAXP_MULT_SHIFT : u32 = 11 ; pub const USB_EP_MAXP_MULT_MASK : u32 = 6144 ; pub const USB_ENDPOINT_INTRTYPE : u32 = 48 ; pub const USB_ENDPOINT_INTR_PERIODIC : u32 = 0 ; pub const USB_ENDPOINT_INTR_NOTIFICATION : u32 = 16 ; pub const USB_ENDPOINT_SYNCTYPE : u32 = 12 ; pub const USB_ENDPOINT_SYNC_NONE : u32 = 0 ; pub const USB_ENDPOINT_SYNC_ASYNC : u32 = 4 ; pub const USB_ENDPOINT_SYNC_ADAPTIVE : u32 = 8 ; pub const USB_ENDPOINT_SYNC_SYNC : u32 = 12 ; pub const USB_ENDPOINT_USAGE_MASK : u32 = 48 ; pub const USB_ENDPOINT_USAGE_DATA : u32 = 0 ; pub const USB_ENDPOINT_USAGE_FEEDBACK : u32 = 16 ; pub const USB_ENDPOINT_USAGE_IMPLICIT_FB : u32 = 32 ; pub const USB_DT_SSP_ISOC_EP_COMP_SIZE : u32 = 8 ; pub const USB_DT_SS_EP_COMP_SIZE : u32 = 6 ; pub const USB_OTG_SRP : u32 = 1 ; pub const USB_OTG_HNP : u32 = 2 ; pub const USB_OTG_ADP : u32 = 4 ; pub const OTG_STS_SELECTOR : u32 = 61440 ; pub const USB_DT_INTERFACE_ASSOCIATION_SIZE : u32 = 8 ; pub const USB_ENC_TYPE_UNSECURE : u32 = 0 ; pub const USB_ENC_TYPE_WIRED : u32 = 1 ; pub const USB_ENC_TYPE_CCM_1 : u32 = 2 ; pub const USB_ENC_TYPE_RSA_1 : u32 = 3 ; pub const USB_DT_BOS_SIZE : u32 = 5 ; pub const USB_CAP_TYPE_WIRELESS_USB : u32 = 1 ; pub const USB_WIRELESS_P2P_DRD : u32 = 2 ; pub const USB_WIRELESS_BEACON_MASK : u32 = 12 ; pub const USB_WIRELESS_BEACON_SELF : u32 = 4 ; pub const USB_WIRELESS_BEACON_DIRECTED : u32 = 8 ; pub const USB_WIRELESS_BEACON_NONE : u32 = 12 ; pub const USB_WIRELESS_PHY_53 : u32 = 1 ; pub const USB_WIRELESS_PHY_80 : u32 = 2 ; pub const USB_WIRELESS_PHY_107 : u32 = 4 ; pub const USB_WIRELESS_PHY_160 : u32 = 8 ; pub const USB_WIRELESS_PHY_200 : u32 = 16 ; pub const USB_WIRELESS_PHY_320 : u32 = 32 ; pub const USB_WIRELESS_PHY_400 : u32 = 64 ; pub const USB_WIRELESS_PHY_480 : u32 = 128 ; pub const USB_DT_USB_WIRELESS_CAP_SIZE : u32 = 11 ; pub const USB_CAP_TYPE_EXT : u32 = 2 ; pub const USB_LPM_SUPPORT : u32 = 2 ; pub const USB_BESL_SUPPORT : u32 = 4 ; pub const USB_BESL_BASELINE_VALID : u32 = 8 ; pub const USB_BESL_DEEP_VALID : u32 = 16 ; pub const USB_DT_USB_EXT_CAP_SIZE : u32 = 7 ; pub const USB_SS_CAP_TYPE : u32 = 3 ; pub const USB_LTM_SUPPORT : u32 = 2 ; pub const USB_LOW_SPEED_OPERATION : u32 = 1 ; pub const USB_FULL_SPEED_OPERATION : u32 = 2 ; pub const USB_HIGH_SPEED_OPERATION : u32 = 4 ; pub const USB_5GBPS_OPERATION : u32 = 8 ; pub const USB_DT_USB_SS_CAP_SIZE : u32 = 10 ; pub const CONTAINER_ID_TYPE : u32 = 4 ; pub const USB_DT_USB_SS_CONTN_ID_SIZE : u32 = 20 ; pub const USB_SSP_CAP_TYPE : u32 = 10 ; pub const USB_SSP_SUBLINK_SPEED_ATTRIBS : u32 = 31 ; pub const USB_SSP_SUBLINK_SPEED_IDS : u32 = 480 ; pub const USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID : u32 = 15 ; pub const USB_SSP_MIN_RX_LANE_COUNT : u32 = 3840 ; pub const USB_SSP_MIN_TX_LANE_COUNT : u32 = 61440 ; pub const USB_SSP_SUBLINK_SPEED_SSID : u32 = 15 ; pub const USB_SSP_SUBLINK_SPEED_LSE : u32 = 48 ; pub const USB_SSP_SUBLINK_SPEED_LSE_BPS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LSE_KBPS : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSE_MBPS : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_LSE_GBPS : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_ST : u32 = 192 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_RX : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_RX : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_TX : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_TX : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_RSVD : u32 = 16128 ; pub const USB_SSP_SUBLINK_SPEED_LP : u32 = 49152 ; pub const USB_SSP_SUBLINK_SPEED_LP_SS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LP_SSP : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSM : u32 = 16711680 ; pub const USB_PD_POWER_DELIVERY_CAPABILITY : u32 = 6 ; pub const USB_PD_BATTERY_INFO_CAPABILITY : u32 = 7 ; pub const USB_PD_PD_CONSUMER_PORT_CAPABILITY : u32 = 8 ; pub const USB_PD_PD_PROVIDER_PORT_CAPABILITY : u32 = 9 ; pub const USB_PD_CAP_BATTERY_CHARGING : u32 = 2 ; pub const USB_PD_CAP_USB_PD : u32 = 4 ; pub const USB_PD_CAP_PROVIDER : u32 = 8 ; pub const USB_PD_CAP_CONSUMER : u32 = 16 ; pub const USB_PD_CAP_CHARGING_POLICY : u32 = 32 ; pub const USB_PD_CAP_TYPE_C_CURRENT : u32 = 64 ; pub const USB_PD_CAP_PWR_AC : u32 = 256 ; pub const USB_PD_CAP_PWR_BAT : u32 = 512 ; pub const USB_PD_CAP_PWR_USE_V_BUS : u32 = 16384 ; pub const USB_PD_CAP_CONSUMER_BC : u32 = 1 ; pub const USB_PD_CAP_CONSUMER_PD : u32 = 2 ; pub const USB_PD_CAP_CONSUMER_TYPE_C : u32 = 4 ; pub const USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME : u32 = 65535 ; pub const USB_PD_CAP_PROVIDER_BC : u32 = 1 ; pub const USB_PD_CAP_PROVIDER_PD : u32 = 2 ; pub const USB_PD_CAP_PROVIDER_TYPE_C : u32 = 4 ; pub const USB_PTM_CAP_TYPE : u32 = 11 ; pub const USB_DT_USB_PTM_ID_SIZE : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_MASK : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_NO : u32 = 0 ; pub const USB_ENDPOINT_SWITCH_SWITCH : u32 = 1 ; pub const USB_ENDPOINT_SWITCH_SCALE : u32 = 2 ; pub const USB3_LPM_DISABLED : u32 = 0 ; pub const USB3_LPM_U1_MAX_TIMEOUT : u32 = 127 ; pub const USB3_LPM_U2_MAX_TIMEOUT : u32 = 254 ; pub const USB3_LPM_DEVICE_INITIATED : u32 = 255 ; pub const USB3_LPM_MAX_U1_SEL_PEL : u32 = 255 ; pub const USB3_LPM_MAX_U2_SEL_PEL : u32 = 65535 ; pub const USB_SELF_POWER_VBUS_MAX_DRAW : u32 = 100 ; pub type __s8 = :: std :: os :: raw :: c_schar ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __s16 = :: std :: os :: raw :: c_short ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __s64 = :: std :: os :: raw :: c_longlong ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fd_set { pub fds_bits : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___kernel_fd_set () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (__kernel_fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (__kernel_fd_set))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fd_set > ())) . fds_bits as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fd_set) , "::" , stringify ! (fds_bits))) ; } pub type __kernel_sighandler_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int) > ; pub type __kernel_key_t = :: std :: os :: raw :: c_int ; pub type __kernel_mqd_t = :: std :: os :: raw :: c_int ; pub type __kernel_old_uid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_gid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_dev_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_long_t = :: std :: os :: raw :: c_long ; pub type __kernel_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_ino_t = __kernel_ulong_t ; pub type __kernel_mode_t = :: std :: os :: raw :: c_uint ; pub type __kernel_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_ipc_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_suseconds_t = __kernel_long_t ; pub type __kernel_daddr_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_size_t = __kernel_ulong_t ; pub type __kernel_ssize_t = __kernel_long_t ; pub type __kernel_ptrdiff_t = __kernel_long_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fsid_t { pub val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___kernel_fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fsid_t > ())) . val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fsid_t) , "::" , stringify ! (val))) ; } pub type __kernel_off_t = __kernel_long_t ; pub type __kernel_loff_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_old_time_t = __kernel_long_t ; pub type __kernel_time_t = __kernel_long_t ; pub type __kernel_time64_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_clock_t = __kernel_long_t ; pub type __kernel_timer_t = :: std :: os :: raw :: c_int ; pub type __kernel_clockid_t = :: std :: os :: raw :: c_int ; pub type __kernel_caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __kernel_uid16_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_gid16_t = :: std :: os :: raw :: c_ushort ; pub type __le16 = __u16 ; pub type __be16 = __u16 ; pub type __le32 = __u32 ; pub type __be32 = __u32 ; pub type __le64 = __u64 ; pub type __be64 = __u64 ; pub type __sum16 = __u16 ; pub type __wsum = __u32 ; pub type __poll_t = :: std :: os :: raw :: c_uint ; # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ctrlrequest { pub bRequestType : __u8 , pub bRequest : __u8 , pub wValue : __le16 , pub wIndex : __le16 , pub wLength : __le16 , } # [test] fn bindgen_test_layout_usb_ctrlrequest () { assert_eq ! (:: std :: mem :: size_of :: < usb_ctrlrequest > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ctrlrequest > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequestType as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequestType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequest as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wValue as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wIndex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wLength as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wLength))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_descriptor_header { pub bLength : __u8 , pub bDescriptorType : __u8 , } # [test] fn bindgen_test_layout_usb_descriptor_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_descriptor_header > () , 2usize , concat ! ("Size of: " , stringify ! (usb_descriptor_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_descriptor_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_descriptor_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bDescriptorType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_device_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub idVendor : __le16 , pub idProduct : __le16 , pub bcdDevice : __le16 , pub iManufacturer : __u8 , pub iProduct : __u8 , pub iSerialNumber : __u8 , pub bNumConfigurations : __u8 , } # [test] fn bindgen_test_layout_usb_device_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_device_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_device_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_device_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_device_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idVendor as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idVendor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idProduct as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdDevice as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdDevice))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iManufacturer as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iProduct as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iSerialNumber as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iSerialNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bNumConfigurations as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bNumConfigurations))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_config_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumInterfaces : __u8 , pub bConfigurationValue : __u8 , pub iConfiguration : __u8 , pub bmAttributes : __u8 , pub bMaxPower : __u8 , } # [test] fn bindgen_test_layout_usb_config_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_config_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_config_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_config_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_config_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bNumInterfaces as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bNumInterfaces))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bConfigurationValue as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bConfigurationValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . iConfiguration as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (iConfiguration))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bmAttributes as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bMaxPower as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bMaxPower))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_string_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wData : [__le16 ; 1usize] , } # [test] fn bindgen_test_layout_usb_string_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_string_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_string_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_string_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_string_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . wData as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (wData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bInterfaceNumber : __u8 , pub bAlternateSetting : __u8 , pub bNumEndpoints : __u8 , pub bInterfaceClass : __u8 , pub bInterfaceSubClass : __u8 , pub bInterfaceProtocol : __u8 , pub iInterface : __u8 , } # [test] fn bindgen_test_layout_usb_interface_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceNumber as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bAlternateSetting as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bAlternateSetting))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bNumEndpoints as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bNumEndpoints))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceSubClass as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceProtocol as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . iInterface as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (iInterface))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_endpoint_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEndpointAddress : __u8 , pub bmAttributes : __u8 , pub wMaxPacketSize : __le16 , pub bInterval : __u8 , pub bRefresh : __u8 , pub bSynchAddress : __u8 , } # [test] fn bindgen_test_layout_usb_endpoint_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_endpoint_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_endpoint_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bEndpointAddress as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bEndpointAddress))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . wMaxPacketSize as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (wMaxPacketSize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bInterval as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bInterval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bRefresh as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bRefresh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bSynchAddress as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bSynchAddress))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_isoc_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wReseved : __le16 , pub dwBytesPerInterval : __le32 , } # [test] fn bindgen_test_layout_usb_ssp_isoc_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . wReseved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (wReseved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . dwBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (dwBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bMaxBurst : __u8 , pub bmAttributes : __u8 , pub wBytesPerInterval : __le16 , } # [test] fn bindgen_test_layout_usb_ss_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_ep_comp_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bMaxBurst as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bMaxBurst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . wBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (wBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_qualifier_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub bNumConfigurations : __u8 , pub bRESERVED : __u8 , } # [test] fn bindgen_test_layout_usb_qualifier_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_qualifier_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_qualifier_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bNumConfigurations as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bNumConfigurations))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bRESERVED as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bRESERVED))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , } # [test] fn bindgen_test_layout_usb_otg_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg_descriptor > () , 3usize , concat ! ("Size of: " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg20_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , pub bcdOTG : __le16 , } # [test] fn bindgen_test_layout_usb_otg20_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg20_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg20_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bcdOTG as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bcdOTG))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_debug_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDebugInEndpoint : __u8 , pub bDebugOutEndpoint : __u8 , } # [test] fn bindgen_test_layout_usb_debug_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_debug_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_debug_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugInEndpoint as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugInEndpoint))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugOutEndpoint as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugOutEndpoint))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_assoc_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bFirstInterface : __u8 , pub bInterfaceCount : __u8 , pub bFunctionClass : __u8 , pub bFunctionSubClass : __u8 , pub bFunctionProtocol : __u8 , pub iFunction : __u8 , } # [test] fn bindgen_test_layout_usb_interface_assoc_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_assoc_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_assoc_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFirstInterface as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFirstInterface))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bInterfaceCount as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bInterfaceCount))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . iFunction as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (iFunction))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_security_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumEncryptionTypes : __u8 , } # [test] fn bindgen_test_layout_usb_security_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_security_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_security_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_security_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_security_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bNumEncryptionTypes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bNumEncryptionTypes))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , } # [test] fn bindgen_test_layout_usb_key_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_key_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_key_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_key_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_key_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . tTKID as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (tTKID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bReserved as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bKeyData as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bKeyData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_encryption_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEncryptionType : __u8 , pub bEncryptionValue : __u8 , pub bAuthKeyIndex : __u8 , } # [test] fn bindgen_test_layout_usb_encryption_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_encryption_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_encryption_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_encryption_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_encryption_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bEncryptionType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bEncryptionType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bEncryptionValue as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bEncryptionValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bAuthKeyIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bAuthKeyIndex))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_bos_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumDeviceCaps : __u8 , } # [test] fn bindgen_test_layout_usb_bos_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_bos_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_bos_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_bos_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_bos_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bNumDeviceCaps as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bNumDeviceCaps))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_dev_cap_header { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , } # [test] fn bindgen_test_layout_usb_dev_cap_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_dev_cap_header > () , 3usize , concat ! ("Size of: " , stringify ! (usb_dev_cap_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_dev_cap_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_dev_cap_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bDevCapabilityType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_wireless_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __u8 , pub wPHYRates : __le16 , pub bmTFITXPowerInfo : __u8 , pub bmFFITXPowerInfo : __u8 , pub bmBandGroup : __le16 , pub bReserved : __u8 , } # [test] fn bindgen_test_layout_usb_wireless_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_wireless_cap_descriptor > () , 11usize , concat ! ("Size of: " , stringify ! (usb_wireless_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_wireless_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_wireless_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . wPHYRates as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (wPHYRates))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmTFITXPowerInfo as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmTFITXPowerInfo))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmFFITXPowerInfo as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmFFITXPowerInfo))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmBandGroup as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmBandGroup))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bReserved as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bReserved))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ext_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __le32 , } # [test] fn bindgen_test_layout_usb_ext_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ext_cap_descriptor > () , 7usize , concat ! ("Size of: " , stringify ! (usb_ext_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ext_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ext_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __u8 , pub wSpeedSupported : __le16 , pub bFunctionalitySupport : __u8 , pub bU1devExitLat : __u8 , pub bU2DevExitLat : __le16 , } # [test] fn bindgen_test_layout_usb_ss_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_cap_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_ss_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . wSpeedSupported as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (wSpeedSupported))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bFunctionalitySupport as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bFunctionalitySupport))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bU1devExitLat as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bU1devExitLat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bU2DevExitLat as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bU2DevExitLat))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_container_id_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub ContainerID : [__u8 ; 16usize] , } # [test] fn bindgen_test_layout_usb_ss_container_id_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_container_id_descriptor > () , 20usize , concat ! ("Size of: " , stringify ! (usb_ss_container_id_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_container_id_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_container_id_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . ContainerID as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (ContainerID))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmAttributes : __le32 , pub wFunctionalitySupport : __le16 , pub wReserved : __le16 , pub bmSublinkSpeedAttr : [__le32 ; 1usize] , } # [test] fn bindgen_test_layout_usb_ssp_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_cap_descriptor > () , 16usize , concat ! ("Size of: " , stringify ! (usb_ssp_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wFunctionalitySupport as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (wFunctionalitySupport))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wReserved as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (wReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmSublinkSpeedAttr as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bmSublinkSpeedAttr))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmAttributes : __le32 , pub bmProviderPorts : __le16 , pub bmConsumerPorts : __le16 , pub bcdBCVersion : __le16 , pub bcdPDVersion : __le16 , pub bcdUSBTypeCVersion : __le16 , } # [test] fn bindgen_test_layout_usb_pd_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmProviderPorts as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmProviderPorts))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmConsumerPorts as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmConsumerPorts))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdBCVersion as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdBCVersion))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdPDVersion as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdPDVersion))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdUSBTypeCVersion as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdUSBTypeCVersion))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_battery_info_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub iBattery : __u8 , pub iSerial : __u8 , pub iManufacturer : __u8 , pub bBatteryId : __u8 , pub bReserved : __u8 , pub dwChargedThreshold : __le32 , pub dwWeakThreshold : __le32 , pub dwBatteryDesignCapacity : __le32 , pub dwBatteryLastFullchargeCapacity : __le32 , } # [test] fn bindgen_test_layout_usb_pd_cap_battery_info_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_battery_info_descriptor > () , 24usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_battery_info_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_battery_info_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_battery_info_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iBattery as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iBattery))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iSerial as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iSerial))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iManufacturer as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bBatteryId as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bBatteryId))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bReserved as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwChargedThreshold as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwChargedThreshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwWeakThreshold as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwWeakThreshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryDesignCapacity as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwBatteryDesignCapacity))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryLastFullchargeCapacity as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwBatteryLastFullchargeCapacity))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_consumer_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmCapabilities : __u8 , pub wMinVoltage : __le16 , pub wMaxVoltage : __le16 , pub wReserved : __u16 , pub dwMaxOperatingPower : __le32 , pub dwMaxPeakPower : __le32 , pub dwMaxPeakPowerTime : __le32 , } # [test] fn bindgen_test_layout_usb_pd_cap_consumer_port_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_consumer_port_descriptor > () , 23usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_consumer_port_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_consumer_port_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_consumer_port_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bmCapabilities as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bmCapabilities))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMinVoltage as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wMinVoltage))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMaxVoltage as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wMaxVoltage))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wReserved as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxOperatingPower as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxOperatingPower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPower as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxPeakPower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPowerTime as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxPeakPowerTime))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_pd_cap_provider_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved1 : __u8 , pub bmCapabilities : __u8 , pub bNumOfPDObjects : __u8 , pub bReserved2 : __u8 , pub wPowerDataObject : __IncompleteArrayField < __le32 > , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type -------------------------------------------------------- you could clone this value [INFO] [stdout] = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour [INFO] [stdout] = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0507`. [INFO] [stdout] [INFO] [stderr] error: could not compile `linux-usb-functionfs-sys` (lib) due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:18700 [INFO] [stdout] | [INFO] [stdout] 3 | ...Request))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wValue as * const _ as usize } , 2usize ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:18918 [INFO] [stdout] | [INFO] [stdout] 3 | ...(wValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wIndex as * const _ as usize } , 4usize ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:19136 [INFO] [stdout] | [INFO] [stdout] 3 | ...wIndex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wLength as * const _ as usize } , 6usize ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:21632 [INFO] [stdout] | [INFO] [stdout] 3 | ...Type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdUSB as * const _ as usize } , 2usiz... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:22848 [INFO] [stdout] | [INFO] [stdout] 3 | ...ze0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idVendor as * const _ as usize } , 8usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:23082 [INFO] [stdout] | [INFO] [stdout] 3 | ...or))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idProduct as * const _ as usize } , 10us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:23319 [INFO] [stdout] | [INFO] [stdout] 3 | ...ct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdDevice as * const _ as usize } , 12us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:25681 [INFO] [stdout] | [INFO] [stdout] 3 | ...e))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . wTotalLength as * const _ as usize } , 2u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:28160 [INFO] [stdout] | [INFO] [stdout] 3 | ...Type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . wData as * const _ as usize } , 2usize... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:33041 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . wMaxPacketSize as * const _ as usize } , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35154 [INFO] [stdout] | [INFO] [stdout] 3 | ...) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . wReseved as * const _ as usize } ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35408 [INFO] [stdout] | [INFO] [stdout] 3 | ...ssert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . dwBytesPerInterval as * const _ as usiz... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:37277 [INFO] [stdout] | [INFO] [stdout] 3 | ...; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . wBytesPerInterval as * const _ as usize } ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:38737 [INFO] [stdout] | [INFO] [stdout] 3 | ...pe))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bcdUSB as * const _ as usize } , 2usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:42953 [INFO] [stdout] | [INFO] [stdout] 3 | ...utes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bcdOTG as * const _ as usize } , 3usize... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:48599 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . wTotalLength as * const _ as usize } , 2... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.bKeyData` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:49261 [INFO] [stdout] | [INFO] [stdout] 3 | ...e (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , ... [INFO] [stdout] | ----- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.bKeyData` has type `__IncompleteArrayField`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `__IncompleteArrayField` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const __BITS_PER_LONG : u32 = 64 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _IOC_NRBITS : u32 = 8 ; pub const _IOC_TYPEBITS : u32 = 8 ; pub const _IOC_SIZEBITS : u32 = 14 ; pub const _IOC_DIRBITS : u32 = 2 ; pub const _IOC_NRMASK : u32 = 255 ; pub const _IOC_TYPEMASK : u32 = 255 ; pub const _IOC_SIZEMASK : u32 = 16383 ; pub const _IOC_DIRMASK : u32 = 3 ; pub const _IOC_NRSHIFT : u32 = 0 ; pub const _IOC_TYPESHIFT : u32 = 8 ; pub const _IOC_SIZESHIFT : u32 = 16 ; pub const _IOC_DIRSHIFT : u32 = 30 ; pub const _IOC_NONE : u32 = 0 ; pub const _IOC_WRITE : u32 = 1 ; pub const _IOC_READ : u32 = 2 ; pub const IOC_IN : u32 = 1073741824 ; pub const IOC_OUT : u32 = 2147483648 ; pub const IOC_INOUT : u32 = 3221225472 ; pub const IOCSIZE_MASK : u32 = 1073676288 ; pub const IOCSIZE_SHIFT : u32 = 16 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const USB_DIR_OUT : u32 = 0 ; pub const USB_DIR_IN : u32 = 128 ; pub const USB_TYPE_MASK : u32 = 96 ; pub const USB_TYPE_STANDARD : u32 = 0 ; pub const USB_TYPE_CLASS : u32 = 32 ; pub const USB_TYPE_VENDOR : u32 = 64 ; pub const USB_TYPE_RESERVED : u32 = 96 ; pub const USB_RECIP_MASK : u32 = 31 ; pub const USB_RECIP_DEVICE : u32 = 0 ; pub const USB_RECIP_INTERFACE : u32 = 1 ; pub const USB_RECIP_ENDPOINT : u32 = 2 ; pub const USB_RECIP_OTHER : u32 = 3 ; pub const USB_RECIP_PORT : u32 = 4 ; pub const USB_RECIP_RPIPE : u32 = 5 ; pub const USB_REQ_GET_STATUS : u32 = 0 ; pub const USB_REQ_CLEAR_FEATURE : u32 = 1 ; pub const USB_REQ_SET_FEATURE : u32 = 3 ; pub const USB_REQ_SET_ADDRESS : u32 = 5 ; pub const USB_REQ_GET_DESCRIPTOR : u32 = 6 ; pub const USB_REQ_SET_DESCRIPTOR : u32 = 7 ; pub const USB_REQ_GET_CONFIGURATION : u32 = 8 ; pub const USB_REQ_SET_CONFIGURATION : u32 = 9 ; pub const USB_REQ_GET_INTERFACE : u32 = 10 ; pub const USB_REQ_SET_INTERFACE : u32 = 11 ; pub const USB_REQ_SYNCH_FRAME : u32 = 12 ; pub const USB_REQ_SET_SEL : u32 = 48 ; pub const USB_REQ_SET_ISOCH_DELAY : u32 = 49 ; pub const USB_REQ_SET_ENCRYPTION : u32 = 13 ; pub const USB_REQ_GET_ENCRYPTION : u32 = 14 ; pub const USB_REQ_RPIPE_ABORT : u32 = 14 ; pub const USB_REQ_SET_HANDSHAKE : u32 = 15 ; pub const USB_REQ_RPIPE_RESET : u32 = 15 ; pub const USB_REQ_GET_HANDSHAKE : u32 = 16 ; pub const USB_REQ_SET_CONNECTION : u32 = 17 ; pub const USB_REQ_SET_SECURITY_DATA : u32 = 18 ; pub const USB_REQ_GET_SECURITY_DATA : u32 = 19 ; pub const USB_REQ_SET_WUSB_DATA : u32 = 20 ; pub const USB_REQ_LOOPBACK_DATA_WRITE : u32 = 21 ; pub const USB_REQ_LOOPBACK_DATA_READ : u32 = 22 ; pub const USB_REQ_SET_INTERFACE_DS : u32 = 23 ; pub const USB_REQ_GET_PARTNER_PDO : u32 = 20 ; pub const USB_REQ_GET_BATTERY_STATUS : u32 = 21 ; pub const USB_REQ_SET_PDO : u32 = 22 ; pub const USB_REQ_GET_VDM : u32 = 23 ; pub const USB_REQ_SEND_VDM : u32 = 24 ; pub const USB_DEVICE_SELF_POWERED : u32 = 0 ; pub const USB_DEVICE_REMOTE_WAKEUP : u32 = 1 ; pub const USB_DEVICE_TEST_MODE : u32 = 2 ; pub const USB_DEVICE_BATTERY : u32 = 2 ; pub const USB_DEVICE_B_HNP_ENABLE : u32 = 3 ; pub const USB_DEVICE_WUSB_DEVICE : u32 = 3 ; pub const USB_DEVICE_A_HNP_SUPPORT : u32 = 4 ; pub const USB_DEVICE_A_ALT_HNP_SUPPORT : u32 = 5 ; pub const USB_DEVICE_DEBUG_MODE : u32 = 6 ; pub const USB_TEST_J : u32 = 1 ; pub const USB_TEST_K : u32 = 2 ; pub const USB_TEST_SE0_NAK : u32 = 3 ; pub const USB_TEST_PACKET : u32 = 4 ; pub const USB_TEST_FORCE_ENABLE : u32 = 5 ; pub const USB_STATUS_TYPE_STANDARD : u32 = 0 ; pub const USB_STATUS_TYPE_PTM : u32 = 1 ; pub const USB_DEVICE_U1_ENABLE : u32 = 48 ; pub const USB_DEVICE_U2_ENABLE : u32 = 49 ; pub const USB_DEVICE_LTM_ENABLE : u32 = 50 ; pub const USB_INTRF_FUNC_SUSPEND : u32 = 0 ; pub const USB_INTR_FUNC_SUSPEND_OPT_MASK : u32 = 65280 ; pub const USB_INTRF_FUNC_SUSPEND_LP : u32 = 256 ; pub const USB_INTRF_FUNC_SUSPEND_RW : u32 = 512 ; pub const USB_INTRF_STAT_FUNC_RW_CAP : u32 = 1 ; pub const USB_INTRF_STAT_FUNC_RW : u32 = 2 ; pub const USB_ENDPOINT_HALT : u32 = 0 ; pub const USB_DEV_STAT_U1_ENABLED : u32 = 2 ; pub const USB_DEV_STAT_U2_ENABLED : u32 = 3 ; pub const USB_DEV_STAT_LTM_ENABLED : u32 = 4 ; pub const USB_DEVICE_BATTERY_WAKE_MASK : u32 = 40 ; pub const USB_DEVICE_OS_IS_PD_AWARE : u32 = 41 ; pub const USB_DEVICE_POLICY_MODE : u32 = 42 ; pub const USB_PORT_PR_SWAP : u32 = 43 ; pub const USB_PORT_GOTO_MIN : u32 = 44 ; pub const USB_PORT_RETURN_POWER : u32 = 45 ; pub const USB_PORT_ACCEPT_PD_REQUEST : u32 = 46 ; pub const USB_PORT_REJECT_PD_REQUEST : u32 = 47 ; pub const USB_PORT_PORT_PD_RESET : u32 = 48 ; pub const USB_PORT_C_PORT_PD_CHANGE : u32 = 49 ; pub const USB_PORT_CABLE_PD_RESET : u32 = 50 ; pub const USB_DEVICE_CHARGING_POLICY : u32 = 54 ; pub const USB_DT_DEVICE : u32 = 1 ; pub const USB_DT_CONFIG : u32 = 2 ; pub const USB_DT_STRING : u32 = 3 ; pub const USB_DT_INTERFACE : u32 = 4 ; pub const USB_DT_ENDPOINT : u32 = 5 ; pub const USB_DT_DEVICE_QUALIFIER : u32 = 6 ; pub const USB_DT_OTHER_SPEED_CONFIG : u32 = 7 ; pub const USB_DT_INTERFACE_POWER : u32 = 8 ; pub const USB_DT_OTG : u32 = 9 ; pub const USB_DT_DEBUG : u32 = 10 ; pub const USB_DT_INTERFACE_ASSOCIATION : u32 = 11 ; pub const USB_DT_SECURITY : u32 = 12 ; pub const USB_DT_KEY : u32 = 13 ; pub const USB_DT_ENCRYPTION_TYPE : u32 = 14 ; pub const USB_DT_BOS : u32 = 15 ; pub const USB_DT_DEVICE_CAPABILITY : u32 = 16 ; pub const USB_DT_WIRELESS_ENDPOINT_COMP : u32 = 17 ; pub const USB_DT_WIRE_ADAPTER : u32 = 33 ; pub const USB_DT_RPIPE : u32 = 34 ; pub const USB_DT_CS_RADIO_CONTROL : u32 = 35 ; pub const USB_DT_PIPE_USAGE : u32 = 36 ; pub const USB_DT_SS_ENDPOINT_COMP : u32 = 48 ; pub const USB_DT_SSP_ISOC_ENDPOINT_COMP : u32 = 49 ; pub const USB_DT_CS_DEVICE : u32 = 33 ; pub const USB_DT_CS_CONFIG : u32 = 34 ; pub const USB_DT_CS_STRING : u32 = 35 ; pub const USB_DT_CS_INTERFACE : u32 = 36 ; pub const USB_DT_CS_ENDPOINT : u32 = 37 ; pub const USB_DT_DEVICE_SIZE : u32 = 18 ; pub const USB_CLASS_PER_INTERFACE : u32 = 0 ; pub const USB_CLASS_AUDIO : u32 = 1 ; pub const USB_CLASS_COMM : u32 = 2 ; pub const USB_CLASS_HID : u32 = 3 ; pub const USB_CLASS_PHYSICAL : u32 = 5 ; pub const USB_CLASS_STILL_IMAGE : u32 = 6 ; pub const USB_CLASS_PRINTER : u32 = 7 ; pub const USB_CLASS_MASS_STORAGE : u32 = 8 ; pub const USB_CLASS_HUB : u32 = 9 ; pub const USB_CLASS_CDC_DATA : u32 = 10 ; pub const USB_CLASS_CSCID : u32 = 11 ; pub const USB_CLASS_CONTENT_SEC : u32 = 13 ; pub const USB_CLASS_VIDEO : u32 = 14 ; pub const USB_CLASS_WIRELESS_CONTROLLER : u32 = 224 ; pub const USB_CLASS_PERSONAL_HEALTHCARE : u32 = 15 ; pub const USB_CLASS_AUDIO_VIDEO : u32 = 16 ; pub const USB_CLASS_BILLBOARD : u32 = 17 ; pub const USB_CLASS_USB_TYPE_C_BRIDGE : u32 = 18 ; pub const USB_CLASS_MISC : u32 = 239 ; pub const USB_CLASS_APP_SPEC : u32 = 254 ; pub const USB_CLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_SUBCLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_DT_CONFIG_SIZE : u32 = 9 ; pub const USB_CONFIG_ATT_ONE : u32 = 128 ; pub const USB_CONFIG_ATT_SELFPOWER : u32 = 64 ; pub const USB_CONFIG_ATT_WAKEUP : u32 = 32 ; pub const USB_CONFIG_ATT_BATTERY : u32 = 16 ; pub const USB_MAX_STRING_LEN : u32 = 126 ; pub const USB_DT_INTERFACE_SIZE : u32 = 9 ; pub const USB_DT_ENDPOINT_SIZE : u32 = 7 ; pub const USB_DT_ENDPOINT_AUDIO_SIZE : u32 = 9 ; pub const USB_ENDPOINT_NUMBER_MASK : u32 = 15 ; pub const USB_ENDPOINT_DIR_MASK : u32 = 128 ; pub const USB_ENDPOINT_XFERTYPE_MASK : u32 = 3 ; pub const USB_ENDPOINT_XFER_CONTROL : u32 = 0 ; pub const USB_ENDPOINT_XFER_ISOC : u32 = 1 ; pub const USB_ENDPOINT_XFER_BULK : u32 = 2 ; pub const USB_ENDPOINT_XFER_INT : u32 = 3 ; pub const USB_ENDPOINT_MAX_ADJUSTABLE : u32 = 128 ; pub const USB_ENDPOINT_MAXP_MASK : u32 = 2047 ; pub const USB_EP_MAXP_MULT_SHIFT : u32 = 11 ; pub const USB_EP_MAXP_MULT_MASK : u32 = 6144 ; pub const USB_ENDPOINT_INTRTYPE : u32 = 48 ; pub const USB_ENDPOINT_INTR_PERIODIC : u32 = 0 ; pub const USB_ENDPOINT_INTR_NOTIFICATION : u32 = 16 ; pub const USB_ENDPOINT_SYNCTYPE : u32 = 12 ; pub const USB_ENDPOINT_SYNC_NONE : u32 = 0 ; pub const USB_ENDPOINT_SYNC_ASYNC : u32 = 4 ; pub const USB_ENDPOINT_SYNC_ADAPTIVE : u32 = 8 ; pub const USB_ENDPOINT_SYNC_SYNC : u32 = 12 ; pub const USB_ENDPOINT_USAGE_MASK : u32 = 48 ; pub const USB_ENDPOINT_USAGE_DATA : u32 = 0 ; pub const USB_ENDPOINT_USAGE_FEEDBACK : u32 = 16 ; pub const USB_ENDPOINT_USAGE_IMPLICIT_FB : u32 = 32 ; pub const USB_DT_SSP_ISOC_EP_COMP_SIZE : u32 = 8 ; pub const USB_DT_SS_EP_COMP_SIZE : u32 = 6 ; pub const USB_OTG_SRP : u32 = 1 ; pub const USB_OTG_HNP : u32 = 2 ; pub const USB_OTG_ADP : u32 = 4 ; pub const OTG_STS_SELECTOR : u32 = 61440 ; pub const USB_DT_INTERFACE_ASSOCIATION_SIZE : u32 = 8 ; pub const USB_ENC_TYPE_UNSECURE : u32 = 0 ; pub const USB_ENC_TYPE_WIRED : u32 = 1 ; pub const USB_ENC_TYPE_CCM_1 : u32 = 2 ; pub const USB_ENC_TYPE_RSA_1 : u32 = 3 ; pub const USB_DT_BOS_SIZE : u32 = 5 ; pub const USB_CAP_TYPE_WIRELESS_USB : u32 = 1 ; pub const USB_WIRELESS_P2P_DRD : u32 = 2 ; pub const USB_WIRELESS_BEACON_MASK : u32 = 12 ; pub const USB_WIRELESS_BEACON_SELF : u32 = 4 ; pub const USB_WIRELESS_BEACON_DIRECTED : u32 = 8 ; pub const USB_WIRELESS_BEACON_NONE : u32 = 12 ; pub const USB_WIRELESS_PHY_53 : u32 = 1 ; pub const USB_WIRELESS_PHY_80 : u32 = 2 ; pub const USB_WIRELESS_PHY_107 : u32 = 4 ; pub const USB_WIRELESS_PHY_160 : u32 = 8 ; pub const USB_WIRELESS_PHY_200 : u32 = 16 ; pub const USB_WIRELESS_PHY_320 : u32 = 32 ; pub const USB_WIRELESS_PHY_400 : u32 = 64 ; pub const USB_WIRELESS_PHY_480 : u32 = 128 ; pub const USB_DT_USB_WIRELESS_CAP_SIZE : u32 = 11 ; pub const USB_CAP_TYPE_EXT : u32 = 2 ; pub const USB_LPM_SUPPORT : u32 = 2 ; pub const USB_BESL_SUPPORT : u32 = 4 ; pub const USB_BESL_BASELINE_VALID : u32 = 8 ; pub const USB_BESL_DEEP_VALID : u32 = 16 ; pub const USB_DT_USB_EXT_CAP_SIZE : u32 = 7 ; pub const USB_SS_CAP_TYPE : u32 = 3 ; pub const USB_LTM_SUPPORT : u32 = 2 ; pub const USB_LOW_SPEED_OPERATION : u32 = 1 ; pub const USB_FULL_SPEED_OPERATION : u32 = 2 ; pub const USB_HIGH_SPEED_OPERATION : u32 = 4 ; pub const USB_5GBPS_OPERATION : u32 = 8 ; pub const USB_DT_USB_SS_CAP_SIZE : u32 = 10 ; pub const CONTAINER_ID_TYPE : u32 = 4 ; pub const USB_DT_USB_SS_CONTN_ID_SIZE : u32 = 20 ; pub const USB_SSP_CAP_TYPE : u32 = 10 ; pub const USB_SSP_SUBLINK_SPEED_ATTRIBS : u32 = 31 ; pub const USB_SSP_SUBLINK_SPEED_IDS : u32 = 480 ; pub const USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID : u32 = 15 ; pub const USB_SSP_MIN_RX_LANE_COUNT : u32 = 3840 ; pub const USB_SSP_MIN_TX_LANE_COUNT : u32 = 61440 ; pub const USB_SSP_SUBLINK_SPEED_SSID : u32 = 15 ; pub const USB_SSP_SUBLINK_SPEED_LSE : u32 = 48 ; pub const USB_SSP_SUBLINK_SPEED_LSE_BPS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LSE_KBPS : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSE_MBPS : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_LSE_GBPS : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_ST : u32 = 192 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_RX : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_RX : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_TX : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_TX : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_RSVD : u32 = 16128 ; pub const USB_SSP_SUBLINK_SPEED_LP : u32 = 49152 ; pub const USB_SSP_SUBLINK_SPEED_LP_SS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LP_SSP : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSM : u32 = 16711680 ; pub const USB_PD_POWER_DELIVERY_CAPABILITY : u32 = 6 ; pub const USB_PD_BATTERY_INFO_CAPABILITY : u32 = 7 ; pub const USB_PD_PD_CONSUMER_PORT_CAPABILITY : u32 = 8 ; pub const USB_PD_PD_PROVIDER_PORT_CAPABILITY : u32 = 9 ; pub const USB_PD_CAP_BATTERY_CHARGING : u32 = 2 ; pub const USB_PD_CAP_USB_PD : u32 = 4 ; pub const USB_PD_CAP_PROVIDER : u32 = 8 ; pub const USB_PD_CAP_CONSUMER : u32 = 16 ; pub const USB_PD_CAP_CHARGING_POLICY : u32 = 32 ; pub const USB_PD_CAP_TYPE_C_CURRENT : u32 = 64 ; pub const USB_PD_CAP_PWR_AC : u32 = 256 ; pub const USB_PD_CAP_PWR_BAT : u32 = 512 ; pub const USB_PD_CAP_PWR_USE_V_BUS : u32 = 16384 ; pub const USB_PD_CAP_CONSUMER_BC : u32 = 1 ; pub const USB_PD_CAP_CONSUMER_PD : u32 = 2 ; pub const USB_PD_CAP_CONSUMER_TYPE_C : u32 = 4 ; pub const USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME : u32 = 65535 ; pub const USB_PD_CAP_PROVIDER_BC : u32 = 1 ; pub const USB_PD_CAP_PROVIDER_PD : u32 = 2 ; pub const USB_PD_CAP_PROVIDER_TYPE_C : u32 = 4 ; pub const USB_PTM_CAP_TYPE : u32 = 11 ; pub const USB_DT_USB_PTM_ID_SIZE : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_MASK : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_NO : u32 = 0 ; pub const USB_ENDPOINT_SWITCH_SWITCH : u32 = 1 ; pub const USB_ENDPOINT_SWITCH_SCALE : u32 = 2 ; pub const USB3_LPM_DISABLED : u32 = 0 ; pub const USB3_LPM_U1_MAX_TIMEOUT : u32 = 127 ; pub const USB3_LPM_U2_MAX_TIMEOUT : u32 = 254 ; pub const USB3_LPM_DEVICE_INITIATED : u32 = 255 ; pub const USB3_LPM_MAX_U1_SEL_PEL : u32 = 255 ; pub const USB3_LPM_MAX_U2_SEL_PEL : u32 = 65535 ; pub const USB_SELF_POWER_VBUS_MAX_DRAW : u32 = 100 ; pub type __s8 = :: std :: os :: raw :: c_schar ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __s16 = :: std :: os :: raw :: c_short ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __s64 = :: std :: os :: raw :: c_longlong ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fd_set { pub fds_bits : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___kernel_fd_set () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (__kernel_fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (__kernel_fd_set))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fd_set > ())) . fds_bits as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fd_set) , "::" , stringify ! (fds_bits))) ; } pub type __kernel_sighandler_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int) > ; pub type __kernel_key_t = :: std :: os :: raw :: c_int ; pub type __kernel_mqd_t = :: std :: os :: raw :: c_int ; pub type __kernel_old_uid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_gid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_dev_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_long_t = :: std :: os :: raw :: c_long ; pub type __kernel_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_ino_t = __kernel_ulong_t ; pub type __kernel_mode_t = :: std :: os :: raw :: c_uint ; pub type __kernel_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_ipc_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_suseconds_t = __kernel_long_t ; pub type __kernel_daddr_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_size_t = __kernel_ulong_t ; pub type __kernel_ssize_t = __kernel_long_t ; pub type __kernel_ptrdiff_t = __kernel_long_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fsid_t { pub val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___kernel_fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fsid_t > ())) . val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fsid_t) , "::" , stringify ! (val))) ; } pub type __kernel_off_t = __kernel_long_t ; pub type __kernel_loff_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_old_time_t = __kernel_long_t ; pub type __kernel_time_t = __kernel_long_t ; pub type __kernel_time64_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_clock_t = __kernel_long_t ; pub type __kernel_timer_t = :: std :: os :: raw :: c_int ; pub type __kernel_clockid_t = :: std :: os :: raw :: c_int ; pub type __kernel_caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __kernel_uid16_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_gid16_t = :: std :: os :: raw :: c_ushort ; pub type __le16 = __u16 ; pub type __be16 = __u16 ; pub type __le32 = __u32 ; pub type __be32 = __u32 ; pub type __le64 = __u64 ; pub type __be64 = __u64 ; pub type __sum16 = __u16 ; pub type __wsum = __u32 ; pub type __poll_t = :: std :: os :: raw :: c_uint ; # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ctrlrequest { pub bRequestType : __u8 , pub bRequest : __u8 , pub wValue : __le16 , pub wIndex : __le16 , pub wLength : __le16 , } # [test] fn bindgen_test_layout_usb_ctrlrequest () { assert_eq ! (:: std :: mem :: size_of :: < usb_ctrlrequest > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ctrlrequest > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequestType as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequestType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequest as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wValue as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wIndex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wLength as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wLength))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_descriptor_header { pub bLength : __u8 , pub bDescriptorType : __u8 , } # [test] fn bindgen_test_layout_usb_descriptor_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_descriptor_header > () , 2usize , concat ! ("Size of: " , stringify ! (usb_descriptor_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_descriptor_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_descriptor_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bDescriptorType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_device_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub idVendor : __le16 , pub idProduct : __le16 , pub bcdDevice : __le16 , pub iManufacturer : __u8 , pub iProduct : __u8 , pub iSerialNumber : __u8 , pub bNumConfigurations : __u8 , } # [test] fn bindgen_test_layout_usb_device_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_device_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_device_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_device_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_device_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idVendor as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idVendor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idProduct as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdDevice as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdDevice))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iManufacturer as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iProduct as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iSerialNumber as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iSerialNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bNumConfigurations as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bNumConfigurations))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_config_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumInterfaces : __u8 , pub bConfigurationValue : __u8 , pub iConfiguration : __u8 , pub bmAttributes : __u8 , pub bMaxPower : __u8 , } # [test] fn bindgen_test_layout_usb_config_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_config_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_config_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_config_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_config_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bNumInterfaces as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bNumInterfaces))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bConfigurationValue as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bConfigurationValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . iConfiguration as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (iConfiguration))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bmAttributes as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bMaxPower as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bMaxPower))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_string_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wData : [__le16 ; 1usize] , } # [test] fn bindgen_test_layout_usb_string_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_string_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_string_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_string_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_string_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . wData as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (wData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bInterfaceNumber : __u8 , pub bAlternateSetting : __u8 , pub bNumEndpoints : __u8 , pub bInterfaceClass : __u8 , pub bInterfaceSubClass : __u8 , pub bInterfaceProtocol : __u8 , pub iInterface : __u8 , } # [test] fn bindgen_test_layout_usb_interface_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceNumber as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bAlternateSetting as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bAlternateSetting))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bNumEndpoints as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bNumEndpoints))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceSubClass as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceProtocol as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . iInterface as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (iInterface))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_endpoint_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEndpointAddress : __u8 , pub bmAttributes : __u8 , pub wMaxPacketSize : __le16 , pub bInterval : __u8 , pub bRefresh : __u8 , pub bSynchAddress : __u8 , } # [test] fn bindgen_test_layout_usb_endpoint_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_endpoint_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_endpoint_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bEndpointAddress as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bEndpointAddress))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . wMaxPacketSize as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (wMaxPacketSize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bInterval as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bInterval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bRefresh as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bRefresh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bSynchAddress as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bSynchAddress))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_isoc_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wReseved : __le16 , pub dwBytesPerInterval : __le32 , } # [test] fn bindgen_test_layout_usb_ssp_isoc_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . wReseved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (wReseved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . dwBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (dwBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bMaxBurst : __u8 , pub bmAttributes : __u8 , pub wBytesPerInterval : __le16 , } # [test] fn bindgen_test_layout_usb_ss_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_ep_comp_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bMaxBurst as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bMaxBurst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . wBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (wBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_qualifier_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub bNumConfigurations : __u8 , pub bRESERVED : __u8 , } # [test] fn bindgen_test_layout_usb_qualifier_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_qualifier_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_qualifier_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bNumConfigurations as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bNumConfigurations))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bRESERVED as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bRESERVED))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , } # [test] fn bindgen_test_layout_usb_otg_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg_descriptor > () , 3usize , concat ! ("Size of: " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg20_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , pub bcdOTG : __le16 , } # [test] fn bindgen_test_layout_usb_otg20_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg20_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg20_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bcdOTG as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bcdOTG))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_debug_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDebugInEndpoint : __u8 , pub bDebugOutEndpoint : __u8 , } # [test] fn bindgen_test_layout_usb_debug_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_debug_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_debug_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugInEndpoint as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugInEndpoint))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugOutEndpoint as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugOutEndpoint))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_assoc_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bFirstInterface : __u8 , pub bInterfaceCount : __u8 , pub bFunctionClass : __u8 , pub bFunctionSubClass : __u8 , pub bFunctionProtocol : __u8 , pub iFunction : __u8 , } # [test] fn bindgen_test_layout_usb_interface_assoc_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_assoc_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_assoc_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFirstInterface as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFirstInterface))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bInterfaceCount as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bInterfaceCount))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . iFunction as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (iFunction))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_security_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumEncryptionTypes : __u8 , } # [test] fn bindgen_test_layout_usb_security_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_security_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_security_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_security_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_security_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bNumEncryptionTypes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bNumEncryptionTypes))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type ---------------------------------------------- you could clone this value [INFO] [stdout] = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour [INFO] [stdout] = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:53697 [INFO] [stdout] | [INFO] [stdout] 3 | ...pe))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . wTotalLength as * const _ as usize } , 2usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:57155 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . wPHYRates as * const _ as usize } , 4... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:57927 [INFO] [stdout] | [INFO] [stdout] 3 | ...) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmBandGroup as * const _ as usize } , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:59733 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:61633 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . wSpeedSupported as * const _ as usize } , 4... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:62385 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bU2DevExitLat as * const _ as usize } , 8u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:66249 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:66493 [INFO] [stdout] | [INFO] [stdout] 3 | ...; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wFunctionalitySupport as * const _ as usize }... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:66755 [INFO] [stdout] | [INFO] [stdout] 3 | ...rt))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wReserved as * const _ as usize } , 10u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:66994 [INFO] [stdout] | [INFO] [stdout] 3 | ... ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmSublinkSpeedAttr as * const _ as usize } ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:68956 [INFO] [stdout] | [INFO] [stdout] 3 | ...d))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:69198 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmProviderPorts as * const _ as usize } , 8... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:69446 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmConsumerPorts as * const _ as usize } , 1... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:69695 [INFO] [stdout] | [INFO] [stdout] 3 | ...s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdBCVersion as * const _ as usize } , 12... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:69938 [INFO] [stdout] | [INFO] [stdout] 3 | ...n))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdPDVersion as * const _ as usize } , 14... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:70181 [INFO] [stdout] | [INFO] [stdout] 3 | ...) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdUSBTypeCVersion as * const _ as usize } ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:73440 [INFO] [stdout] | [INFO] [stdout] 3 | ...ert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwChargedThreshold as * const _ as usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:73720 [INFO] [stdout] | [INFO] [stdout] 3 | ...ssert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwWeakThreshold as * const _ as usiz... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:73995 [INFO] [stdout] | [INFO] [stdout] 3 | ...t_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryDesignCapacity as * const _ as ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:74286 [INFO] [stdout] | [INFO] [stdout] 3 | ... ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryLastFullchargeCapacity as * const _... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:76793 [INFO] [stdout] | [INFO] [stdout] 3 | ...assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMinVoltage as * const _ as usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:77061 [INFO] [stdout] | [INFO] [stdout] 3 | ...assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMaxVoltage as * const _ as usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:77329 [INFO] [stdout] | [INFO] [stdout] 3 | ... assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wReserved as * const _ as usize }... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:77593 [INFO] [stdout] | [INFO] [stdout] 3 | ...rt_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxOperatingPower as * const _ as us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:77878 [INFO] [stdout] | [INFO] [stdout] 3 | ...ssert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPower as * const _ as usiz... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:78153 [INFO] [stdout] | [INFO] [stdout] 3 | ...ert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPowerTime as * const _ as us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.wPowerDataObject` which is behind a shared reference [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:78693 [INFO] [stdout] | [INFO] [stdout] 3 | ...e (Debug)] pub struct usb_pd_cap_provider_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved1 : __u8 , pub bmCapabilities : __u8 , pub bNumOfPDObjects : __u8 , pub bReserved2 : __u8 , pub wPowerDataObject : __IncompleteArrayField < __le32 > , ... [INFO] [stdout] | ----- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.wPowerDataObject` has type `__IncompleteArrayField`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: if `__IncompleteArrayField` implemented `Clone`, you could clone the value [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } pub const __BITS_PER_LONG : u32 = 64 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _IOC_NRBITS : u32 = 8 ; pub const _IOC_TYPEBITS : u32 = 8 ; pub const _IOC_SIZEBITS : u32 = 14 ; pub const _IOC_DIRBITS : u32 = 2 ; pub const _IOC_NRMASK : u32 = 255 ; pub const _IOC_TYPEMASK : u32 = 255 ; pub const _IOC_SIZEMASK : u32 = 16383 ; pub const _IOC_DIRMASK : u32 = 3 ; pub const _IOC_NRSHIFT : u32 = 0 ; pub const _IOC_TYPESHIFT : u32 = 8 ; pub const _IOC_SIZESHIFT : u32 = 16 ; pub const _IOC_DIRSHIFT : u32 = 30 ; pub const _IOC_NONE : u32 = 0 ; pub const _IOC_WRITE : u32 = 1 ; pub const _IOC_READ : u32 = 2 ; pub const IOC_IN : u32 = 1073741824 ; pub const IOC_OUT : u32 = 2147483648 ; pub const IOC_INOUT : u32 = 3221225472 ; pub const IOCSIZE_MASK : u32 = 1073676288 ; pub const IOCSIZE_SHIFT : u32 = 16 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const USB_DIR_OUT : u32 = 0 ; pub const USB_DIR_IN : u32 = 128 ; pub const USB_TYPE_MASK : u32 = 96 ; pub const USB_TYPE_STANDARD : u32 = 0 ; pub const USB_TYPE_CLASS : u32 = 32 ; pub const USB_TYPE_VENDOR : u32 = 64 ; pub const USB_TYPE_RESERVED : u32 = 96 ; pub const USB_RECIP_MASK : u32 = 31 ; pub const USB_RECIP_DEVICE : u32 = 0 ; pub const USB_RECIP_INTERFACE : u32 = 1 ; pub const USB_RECIP_ENDPOINT : u32 = 2 ; pub const USB_RECIP_OTHER : u32 = 3 ; pub const USB_RECIP_PORT : u32 = 4 ; pub const USB_RECIP_RPIPE : u32 = 5 ; pub const USB_REQ_GET_STATUS : u32 = 0 ; pub const USB_REQ_CLEAR_FEATURE : u32 = 1 ; pub const USB_REQ_SET_FEATURE : u32 = 3 ; pub const USB_REQ_SET_ADDRESS : u32 = 5 ; pub const USB_REQ_GET_DESCRIPTOR : u32 = 6 ; pub const USB_REQ_SET_DESCRIPTOR : u32 = 7 ; pub const USB_REQ_GET_CONFIGURATION : u32 = 8 ; pub const USB_REQ_SET_CONFIGURATION : u32 = 9 ; pub const USB_REQ_GET_INTERFACE : u32 = 10 ; pub const USB_REQ_SET_INTERFACE : u32 = 11 ; pub const USB_REQ_SYNCH_FRAME : u32 = 12 ; pub const USB_REQ_SET_SEL : u32 = 48 ; pub const USB_REQ_SET_ISOCH_DELAY : u32 = 49 ; pub const USB_REQ_SET_ENCRYPTION : u32 = 13 ; pub const USB_REQ_GET_ENCRYPTION : u32 = 14 ; pub const USB_REQ_RPIPE_ABORT : u32 = 14 ; pub const USB_REQ_SET_HANDSHAKE : u32 = 15 ; pub const USB_REQ_RPIPE_RESET : u32 = 15 ; pub const USB_REQ_GET_HANDSHAKE : u32 = 16 ; pub const USB_REQ_SET_CONNECTION : u32 = 17 ; pub const USB_REQ_SET_SECURITY_DATA : u32 = 18 ; pub const USB_REQ_GET_SECURITY_DATA : u32 = 19 ; pub const USB_REQ_SET_WUSB_DATA : u32 = 20 ; pub const USB_REQ_LOOPBACK_DATA_WRITE : u32 = 21 ; pub const USB_REQ_LOOPBACK_DATA_READ : u32 = 22 ; pub const USB_REQ_SET_INTERFACE_DS : u32 = 23 ; pub const USB_REQ_GET_PARTNER_PDO : u32 = 20 ; pub const USB_REQ_GET_BATTERY_STATUS : u32 = 21 ; pub const USB_REQ_SET_PDO : u32 = 22 ; pub const USB_REQ_GET_VDM : u32 = 23 ; pub const USB_REQ_SEND_VDM : u32 = 24 ; pub const USB_DEVICE_SELF_POWERED : u32 = 0 ; pub const USB_DEVICE_REMOTE_WAKEUP : u32 = 1 ; pub const USB_DEVICE_TEST_MODE : u32 = 2 ; pub const USB_DEVICE_BATTERY : u32 = 2 ; pub const USB_DEVICE_B_HNP_ENABLE : u32 = 3 ; pub const USB_DEVICE_WUSB_DEVICE : u32 = 3 ; pub const USB_DEVICE_A_HNP_SUPPORT : u32 = 4 ; pub const USB_DEVICE_A_ALT_HNP_SUPPORT : u32 = 5 ; pub const USB_DEVICE_DEBUG_MODE : u32 = 6 ; pub const USB_TEST_J : u32 = 1 ; pub const USB_TEST_K : u32 = 2 ; pub const USB_TEST_SE0_NAK : u32 = 3 ; pub const USB_TEST_PACKET : u32 = 4 ; pub const USB_TEST_FORCE_ENABLE : u32 = 5 ; pub const USB_STATUS_TYPE_STANDARD : u32 = 0 ; pub const USB_STATUS_TYPE_PTM : u32 = 1 ; pub const USB_DEVICE_U1_ENABLE : u32 = 48 ; pub const USB_DEVICE_U2_ENABLE : u32 = 49 ; pub const USB_DEVICE_LTM_ENABLE : u32 = 50 ; pub const USB_INTRF_FUNC_SUSPEND : u32 = 0 ; pub const USB_INTR_FUNC_SUSPEND_OPT_MASK : u32 = 65280 ; pub const USB_INTRF_FUNC_SUSPEND_LP : u32 = 256 ; pub const USB_INTRF_FUNC_SUSPEND_RW : u32 = 512 ; pub const USB_INTRF_STAT_FUNC_RW_CAP : u32 = 1 ; pub const USB_INTRF_STAT_FUNC_RW : u32 = 2 ; pub const USB_ENDPOINT_HALT : u32 = 0 ; pub const USB_DEV_STAT_U1_ENABLED : u32 = 2 ; pub const USB_DEV_STAT_U2_ENABLED : u32 = 3 ; pub const USB_DEV_STAT_LTM_ENABLED : u32 = 4 ; pub const USB_DEVICE_BATTERY_WAKE_MASK : u32 = 40 ; pub const USB_DEVICE_OS_IS_PD_AWARE : u32 = 41 ; pub const USB_DEVICE_POLICY_MODE : u32 = 42 ; pub const USB_PORT_PR_SWAP : u32 = 43 ; pub const USB_PORT_GOTO_MIN : u32 = 44 ; pub const USB_PORT_RETURN_POWER : u32 = 45 ; pub const USB_PORT_ACCEPT_PD_REQUEST : u32 = 46 ; pub const USB_PORT_REJECT_PD_REQUEST : u32 = 47 ; pub const USB_PORT_PORT_PD_RESET : u32 = 48 ; pub const USB_PORT_C_PORT_PD_CHANGE : u32 = 49 ; pub const USB_PORT_CABLE_PD_RESET : u32 = 50 ; pub const USB_DEVICE_CHARGING_POLICY : u32 = 54 ; pub const USB_DT_DEVICE : u32 = 1 ; pub const USB_DT_CONFIG : u32 = 2 ; pub const USB_DT_STRING : u32 = 3 ; pub const USB_DT_INTERFACE : u32 = 4 ; pub const USB_DT_ENDPOINT : u32 = 5 ; pub const USB_DT_DEVICE_QUALIFIER : u32 = 6 ; pub const USB_DT_OTHER_SPEED_CONFIG : u32 = 7 ; pub const USB_DT_INTERFACE_POWER : u32 = 8 ; pub const USB_DT_OTG : u32 = 9 ; pub const USB_DT_DEBUG : u32 = 10 ; pub const USB_DT_INTERFACE_ASSOCIATION : u32 = 11 ; pub const USB_DT_SECURITY : u32 = 12 ; pub const USB_DT_KEY : u32 = 13 ; pub const USB_DT_ENCRYPTION_TYPE : u32 = 14 ; pub const USB_DT_BOS : u32 = 15 ; pub const USB_DT_DEVICE_CAPABILITY : u32 = 16 ; pub const USB_DT_WIRELESS_ENDPOINT_COMP : u32 = 17 ; pub const USB_DT_WIRE_ADAPTER : u32 = 33 ; pub const USB_DT_RPIPE : u32 = 34 ; pub const USB_DT_CS_RADIO_CONTROL : u32 = 35 ; pub const USB_DT_PIPE_USAGE : u32 = 36 ; pub const USB_DT_SS_ENDPOINT_COMP : u32 = 48 ; pub const USB_DT_SSP_ISOC_ENDPOINT_COMP : u32 = 49 ; pub const USB_DT_CS_DEVICE : u32 = 33 ; pub const USB_DT_CS_CONFIG : u32 = 34 ; pub const USB_DT_CS_STRING : u32 = 35 ; pub const USB_DT_CS_INTERFACE : u32 = 36 ; pub const USB_DT_CS_ENDPOINT : u32 = 37 ; pub const USB_DT_DEVICE_SIZE : u32 = 18 ; pub const USB_CLASS_PER_INTERFACE : u32 = 0 ; pub const USB_CLASS_AUDIO : u32 = 1 ; pub const USB_CLASS_COMM : u32 = 2 ; pub const USB_CLASS_HID : u32 = 3 ; pub const USB_CLASS_PHYSICAL : u32 = 5 ; pub const USB_CLASS_STILL_IMAGE : u32 = 6 ; pub const USB_CLASS_PRINTER : u32 = 7 ; pub const USB_CLASS_MASS_STORAGE : u32 = 8 ; pub const USB_CLASS_HUB : u32 = 9 ; pub const USB_CLASS_CDC_DATA : u32 = 10 ; pub const USB_CLASS_CSCID : u32 = 11 ; pub const USB_CLASS_CONTENT_SEC : u32 = 13 ; pub const USB_CLASS_VIDEO : u32 = 14 ; pub const USB_CLASS_WIRELESS_CONTROLLER : u32 = 224 ; pub const USB_CLASS_PERSONAL_HEALTHCARE : u32 = 15 ; pub const USB_CLASS_AUDIO_VIDEO : u32 = 16 ; pub const USB_CLASS_BILLBOARD : u32 = 17 ; pub const USB_CLASS_USB_TYPE_C_BRIDGE : u32 = 18 ; pub const USB_CLASS_MISC : u32 = 239 ; pub const USB_CLASS_APP_SPEC : u32 = 254 ; pub const USB_CLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_SUBCLASS_VENDOR_SPEC : u32 = 255 ; pub const USB_DT_CONFIG_SIZE : u32 = 9 ; pub const USB_CONFIG_ATT_ONE : u32 = 128 ; pub const USB_CONFIG_ATT_SELFPOWER : u32 = 64 ; pub const USB_CONFIG_ATT_WAKEUP : u32 = 32 ; pub const USB_CONFIG_ATT_BATTERY : u32 = 16 ; pub const USB_MAX_STRING_LEN : u32 = 126 ; pub const USB_DT_INTERFACE_SIZE : u32 = 9 ; pub const USB_DT_ENDPOINT_SIZE : u32 = 7 ; pub const USB_DT_ENDPOINT_AUDIO_SIZE : u32 = 9 ; pub const USB_ENDPOINT_NUMBER_MASK : u32 = 15 ; pub const USB_ENDPOINT_DIR_MASK : u32 = 128 ; pub const USB_ENDPOINT_XFERTYPE_MASK : u32 = 3 ; pub const USB_ENDPOINT_XFER_CONTROL : u32 = 0 ; pub const USB_ENDPOINT_XFER_ISOC : u32 = 1 ; pub const USB_ENDPOINT_XFER_BULK : u32 = 2 ; pub const USB_ENDPOINT_XFER_INT : u32 = 3 ; pub const USB_ENDPOINT_MAX_ADJUSTABLE : u32 = 128 ; pub const USB_ENDPOINT_MAXP_MASK : u32 = 2047 ; pub const USB_EP_MAXP_MULT_SHIFT : u32 = 11 ; pub const USB_EP_MAXP_MULT_MASK : u32 = 6144 ; pub const USB_ENDPOINT_INTRTYPE : u32 = 48 ; pub const USB_ENDPOINT_INTR_PERIODIC : u32 = 0 ; pub const USB_ENDPOINT_INTR_NOTIFICATION : u32 = 16 ; pub const USB_ENDPOINT_SYNCTYPE : u32 = 12 ; pub const USB_ENDPOINT_SYNC_NONE : u32 = 0 ; pub const USB_ENDPOINT_SYNC_ASYNC : u32 = 4 ; pub const USB_ENDPOINT_SYNC_ADAPTIVE : u32 = 8 ; pub const USB_ENDPOINT_SYNC_SYNC : u32 = 12 ; pub const USB_ENDPOINT_USAGE_MASK : u32 = 48 ; pub const USB_ENDPOINT_USAGE_DATA : u32 = 0 ; pub const USB_ENDPOINT_USAGE_FEEDBACK : u32 = 16 ; pub const USB_ENDPOINT_USAGE_IMPLICIT_FB : u32 = 32 ; pub const USB_DT_SSP_ISOC_EP_COMP_SIZE : u32 = 8 ; pub const USB_DT_SS_EP_COMP_SIZE : u32 = 6 ; pub const USB_OTG_SRP : u32 = 1 ; pub const USB_OTG_HNP : u32 = 2 ; pub const USB_OTG_ADP : u32 = 4 ; pub const OTG_STS_SELECTOR : u32 = 61440 ; pub const USB_DT_INTERFACE_ASSOCIATION_SIZE : u32 = 8 ; pub const USB_ENC_TYPE_UNSECURE : u32 = 0 ; pub const USB_ENC_TYPE_WIRED : u32 = 1 ; pub const USB_ENC_TYPE_CCM_1 : u32 = 2 ; pub const USB_ENC_TYPE_RSA_1 : u32 = 3 ; pub const USB_DT_BOS_SIZE : u32 = 5 ; pub const USB_CAP_TYPE_WIRELESS_USB : u32 = 1 ; pub const USB_WIRELESS_P2P_DRD : u32 = 2 ; pub const USB_WIRELESS_BEACON_MASK : u32 = 12 ; pub const USB_WIRELESS_BEACON_SELF : u32 = 4 ; pub const USB_WIRELESS_BEACON_DIRECTED : u32 = 8 ; pub const USB_WIRELESS_BEACON_NONE : u32 = 12 ; pub const USB_WIRELESS_PHY_53 : u32 = 1 ; pub const USB_WIRELESS_PHY_80 : u32 = 2 ; pub const USB_WIRELESS_PHY_107 : u32 = 4 ; pub const USB_WIRELESS_PHY_160 : u32 = 8 ; pub const USB_WIRELESS_PHY_200 : u32 = 16 ; pub const USB_WIRELESS_PHY_320 : u32 = 32 ; pub const USB_WIRELESS_PHY_400 : u32 = 64 ; pub const USB_WIRELESS_PHY_480 : u32 = 128 ; pub const USB_DT_USB_WIRELESS_CAP_SIZE : u32 = 11 ; pub const USB_CAP_TYPE_EXT : u32 = 2 ; pub const USB_LPM_SUPPORT : u32 = 2 ; pub const USB_BESL_SUPPORT : u32 = 4 ; pub const USB_BESL_BASELINE_VALID : u32 = 8 ; pub const USB_BESL_DEEP_VALID : u32 = 16 ; pub const USB_DT_USB_EXT_CAP_SIZE : u32 = 7 ; pub const USB_SS_CAP_TYPE : u32 = 3 ; pub const USB_LTM_SUPPORT : u32 = 2 ; pub const USB_LOW_SPEED_OPERATION : u32 = 1 ; pub const USB_FULL_SPEED_OPERATION : u32 = 2 ; pub const USB_HIGH_SPEED_OPERATION : u32 = 4 ; pub const USB_5GBPS_OPERATION : u32 = 8 ; pub const USB_DT_USB_SS_CAP_SIZE : u32 = 10 ; pub const CONTAINER_ID_TYPE : u32 = 4 ; pub const USB_DT_USB_SS_CONTN_ID_SIZE : u32 = 20 ; pub const USB_SSP_CAP_TYPE : u32 = 10 ; pub const USB_SSP_SUBLINK_SPEED_ATTRIBS : u32 = 31 ; pub const USB_SSP_SUBLINK_SPEED_IDS : u32 = 480 ; pub const USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID : u32 = 15 ; pub const USB_SSP_MIN_RX_LANE_COUNT : u32 = 3840 ; pub const USB_SSP_MIN_TX_LANE_COUNT : u32 = 61440 ; pub const USB_SSP_SUBLINK_SPEED_SSID : u32 = 15 ; pub const USB_SSP_SUBLINK_SPEED_LSE : u32 = 48 ; pub const USB_SSP_SUBLINK_SPEED_LSE_BPS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LSE_KBPS : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSE_MBPS : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_LSE_GBPS : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_ST : u32 = 192 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_RX : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_RX : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_ST_SYM_TX : u32 = 2 ; pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_TX : u32 = 3 ; pub const USB_SSP_SUBLINK_SPEED_RSVD : u32 = 16128 ; pub const USB_SSP_SUBLINK_SPEED_LP : u32 = 49152 ; pub const USB_SSP_SUBLINK_SPEED_LP_SS : u32 = 0 ; pub const USB_SSP_SUBLINK_SPEED_LP_SSP : u32 = 1 ; pub const USB_SSP_SUBLINK_SPEED_LSM : u32 = 16711680 ; pub const USB_PD_POWER_DELIVERY_CAPABILITY : u32 = 6 ; pub const USB_PD_BATTERY_INFO_CAPABILITY : u32 = 7 ; pub const USB_PD_PD_CONSUMER_PORT_CAPABILITY : u32 = 8 ; pub const USB_PD_PD_PROVIDER_PORT_CAPABILITY : u32 = 9 ; pub const USB_PD_CAP_BATTERY_CHARGING : u32 = 2 ; pub const USB_PD_CAP_USB_PD : u32 = 4 ; pub const USB_PD_CAP_PROVIDER : u32 = 8 ; pub const USB_PD_CAP_CONSUMER : u32 = 16 ; pub const USB_PD_CAP_CHARGING_POLICY : u32 = 32 ; pub const USB_PD_CAP_TYPE_C_CURRENT : u32 = 64 ; pub const USB_PD_CAP_PWR_AC : u32 = 256 ; pub const USB_PD_CAP_PWR_BAT : u32 = 512 ; pub const USB_PD_CAP_PWR_USE_V_BUS : u32 = 16384 ; pub const USB_PD_CAP_CONSUMER_BC : u32 = 1 ; pub const USB_PD_CAP_CONSUMER_PD : u32 = 2 ; pub const USB_PD_CAP_CONSUMER_TYPE_C : u32 = 4 ; pub const USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME : u32 = 65535 ; pub const USB_PD_CAP_PROVIDER_BC : u32 = 1 ; pub const USB_PD_CAP_PROVIDER_PD : u32 = 2 ; pub const USB_PD_CAP_PROVIDER_TYPE_C : u32 = 4 ; pub const USB_PTM_CAP_TYPE : u32 = 11 ; pub const USB_DT_USB_PTM_ID_SIZE : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_MASK : u32 = 3 ; pub const USB_ENDPOINT_SWITCH_NO : u32 = 0 ; pub const USB_ENDPOINT_SWITCH_SWITCH : u32 = 1 ; pub const USB_ENDPOINT_SWITCH_SCALE : u32 = 2 ; pub const USB3_LPM_DISABLED : u32 = 0 ; pub const USB3_LPM_U1_MAX_TIMEOUT : u32 = 127 ; pub const USB3_LPM_U2_MAX_TIMEOUT : u32 = 254 ; pub const USB3_LPM_DEVICE_INITIATED : u32 = 255 ; pub const USB3_LPM_MAX_U1_SEL_PEL : u32 = 255 ; pub const USB3_LPM_MAX_U2_SEL_PEL : u32 = 65535 ; pub const USB_SELF_POWER_VBUS_MAX_DRAW : u32 = 100 ; pub type __s8 = :: std :: os :: raw :: c_schar ; pub type __u8 = :: std :: os :: raw :: c_uchar ; pub type __s16 = :: std :: os :: raw :: c_short ; pub type __u16 = :: std :: os :: raw :: c_ushort ; pub type __s32 = :: std :: os :: raw :: c_int ; pub type __u32 = :: std :: os :: raw :: c_uint ; pub type __s64 = :: std :: os :: raw :: c_longlong ; pub type __u64 = :: std :: os :: raw :: c_ulonglong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fd_set { pub fds_bits : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___kernel_fd_set () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fd_set > () , 128usize , concat ! ("Size of: " , stringify ! (__kernel_fd_set))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fd_set > () , 8usize , concat ! ("Alignment of " , stringify ! (__kernel_fd_set))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fd_set > ())) . fds_bits as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fd_set) , "::" , stringify ! (fds_bits))) ; } pub type __kernel_sighandler_t = :: std :: option :: Option < unsafe extern "C" fn (arg1 : :: std :: os :: raw :: c_int) > ; pub type __kernel_key_t = :: std :: os :: raw :: c_int ; pub type __kernel_mqd_t = :: std :: os :: raw :: c_int ; pub type __kernel_old_uid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_gid_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_old_dev_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_long_t = :: std :: os :: raw :: c_long ; pub type __kernel_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __kernel_ino_t = __kernel_ulong_t ; pub type __kernel_mode_t = :: std :: os :: raw :: c_uint ; pub type __kernel_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_ipc_pid_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid_t = :: std :: os :: raw :: c_uint ; pub type __kernel_suseconds_t = __kernel_long_t ; pub type __kernel_daddr_t = :: std :: os :: raw :: c_int ; pub type __kernel_uid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_gid32_t = :: std :: os :: raw :: c_uint ; pub type __kernel_size_t = __kernel_ulong_t ; pub type __kernel_ssize_t = __kernel_long_t ; pub type __kernel_ptrdiff_t = __kernel_long_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __kernel_fsid_t { pub val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___kernel_fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __kernel_fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __kernel_fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__kernel_fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __kernel_fsid_t > ())) . val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__kernel_fsid_t) , "::" , stringify ! (val))) ; } pub type __kernel_off_t = __kernel_long_t ; pub type __kernel_loff_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_old_time_t = __kernel_long_t ; pub type __kernel_time_t = __kernel_long_t ; pub type __kernel_time64_t = :: std :: os :: raw :: c_longlong ; pub type __kernel_clock_t = __kernel_long_t ; pub type __kernel_timer_t = :: std :: os :: raw :: c_int ; pub type __kernel_clockid_t = :: std :: os :: raw :: c_int ; pub type __kernel_caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __kernel_uid16_t = :: std :: os :: raw :: c_ushort ; pub type __kernel_gid16_t = :: std :: os :: raw :: c_ushort ; pub type __le16 = __u16 ; pub type __be16 = __u16 ; pub type __le32 = __u32 ; pub type __be32 = __u32 ; pub type __le64 = __u64 ; pub type __be64 = __u64 ; pub type __sum16 = __u16 ; pub type __wsum = __u32 ; pub type __poll_t = :: std :: os :: raw :: c_uint ; # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ctrlrequest { pub bRequestType : __u8 , pub bRequest : __u8 , pub wValue : __le16 , pub wIndex : __le16 , pub wLength : __le16 , } # [test] fn bindgen_test_layout_usb_ctrlrequest () { assert_eq ! (:: std :: mem :: size_of :: < usb_ctrlrequest > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ctrlrequest > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ctrlrequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequestType as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequestType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . bRequest as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (bRequest))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wValue as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wIndex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ctrlrequest > ())) . wLength as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ctrlrequest) , "::" , stringify ! (wLength))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_descriptor_header { pub bLength : __u8 , pub bDescriptorType : __u8 , } # [test] fn bindgen_test_layout_usb_descriptor_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_descriptor_header > () , 2usize , concat ! ("Size of: " , stringify ! (usb_descriptor_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_descriptor_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_descriptor_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_descriptor_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_descriptor_header) , "::" , stringify ! (bDescriptorType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_device_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub idVendor : __le16 , pub idProduct : __le16 , pub bcdDevice : __le16 , pub iManufacturer : __u8 , pub iProduct : __u8 , pub iSerialNumber : __u8 , pub bNumConfigurations : __u8 , } # [test] fn bindgen_test_layout_usb_device_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_device_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_device_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_device_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_device_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idVendor as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idVendor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . idProduct as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (idProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bcdDevice as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bcdDevice))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iManufacturer as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iProduct as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iProduct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . iSerialNumber as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (iSerialNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_device_descriptor > ())) . bNumConfigurations as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (usb_device_descriptor) , "::" , stringify ! (bNumConfigurations))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_config_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumInterfaces : __u8 , pub bConfigurationValue : __u8 , pub iConfiguration : __u8 , pub bmAttributes : __u8 , pub bMaxPower : __u8 , } # [test] fn bindgen_test_layout_usb_config_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_config_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_config_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_config_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_config_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bNumInterfaces as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bNumInterfaces))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bConfigurationValue as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bConfigurationValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . iConfiguration as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (iConfiguration))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bmAttributes as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_config_descriptor > ())) . bMaxPower as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_config_descriptor) , "::" , stringify ! (bMaxPower))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_string_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wData : [__le16 ; 1usize] , } # [test] fn bindgen_test_layout_usb_string_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_string_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_string_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_string_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_string_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_string_descriptor > ())) . wData as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_string_descriptor) , "::" , stringify ! (wData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bInterfaceNumber : __u8 , pub bAlternateSetting : __u8 , pub bNumEndpoints : __u8 , pub bInterfaceClass : __u8 , pub bInterfaceSubClass : __u8 , pub bInterfaceProtocol : __u8 , pub iInterface : __u8 , } # [test] fn bindgen_test_layout_usb_interface_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceNumber as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceNumber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bAlternateSetting as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bAlternateSetting))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bNumEndpoints as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bNumEndpoints))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceSubClass as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . bInterfaceProtocol as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (bInterfaceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_descriptor > ())) . iInterface as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_interface_descriptor) , "::" , stringify ! (iInterface))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_endpoint_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEndpointAddress : __u8 , pub bmAttributes : __u8 , pub wMaxPacketSize : __le16 , pub bInterval : __u8 , pub bRefresh : __u8 , pub bSynchAddress : __u8 , } # [test] fn bindgen_test_layout_usb_endpoint_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_endpoint_descriptor > () , 9usize , concat ! ("Size of: " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_endpoint_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_endpoint_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bEndpointAddress as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bEndpointAddress))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . wMaxPacketSize as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (wMaxPacketSize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bInterval as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bInterval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bRefresh as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bRefresh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor > ())) . bSynchAddress as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_endpoint_descriptor) , "::" , stringify ! (bSynchAddress))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_isoc_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wReseved : __le16 , pub dwBytesPerInterval : __le32 , } # [test] fn bindgen_test_layout_usb_ssp_isoc_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_isoc_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_isoc_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . wReseved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (wReseved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_isoc_ep_comp_descriptor > ())) . dwBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_isoc_ep_comp_descriptor) , "::" , stringify ! (dwBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_ep_comp_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bMaxBurst : __u8 , pub bmAttributes : __u8 , pub wBytesPerInterval : __le16 , } # [test] fn bindgen_test_layout_usb_ss_ep_comp_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_ep_comp_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_ep_comp_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_ep_comp_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bMaxBurst as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bMaxBurst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_ep_comp_descriptor > ())) . wBytesPerInterval as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_ep_comp_descriptor) , "::" , stringify ! (wBytesPerInterval))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_qualifier_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bcdUSB : __le16 , pub bDeviceClass : __u8 , pub bDeviceSubClass : __u8 , pub bDeviceProtocol : __u8 , pub bMaxPacketSize0 : __u8 , pub bNumConfigurations : __u8 , pub bRESERVED : __u8 , } # [test] fn bindgen_test_layout_usb_qualifier_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_qualifier_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_qualifier_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_qualifier_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bcdUSB as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bcdUSB))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bDeviceProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bDeviceProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bMaxPacketSize0 as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bMaxPacketSize0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bNumConfigurations as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bNumConfigurations))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_qualifier_descriptor > ())) . bRESERVED as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_qualifier_descriptor) , "::" , stringify ! (bRESERVED))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , } # [test] fn bindgen_test_layout_usb_otg_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg_descriptor > () , 3usize , concat ! ("Size of: " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_otg20_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bmAttributes : __u8 , pub bcdOTG : __le16 , } # [test] fn bindgen_test_layout_usb_otg20_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_otg20_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_otg20_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_otg20_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bmAttributes as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_otg20_descriptor > ())) . bcdOTG as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_otg20_descriptor) , "::" , stringify ! (bcdOTG))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_debug_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDebugInEndpoint : __u8 , pub bDebugOutEndpoint : __u8 , } # [test] fn bindgen_test_layout_usb_debug_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_debug_descriptor > () , 4usize , concat ! ("Size of: " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_debug_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_debug_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugInEndpoint as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugInEndpoint))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_debug_descriptor > ())) . bDebugOutEndpoint as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_debug_descriptor) , "::" , stringify ! (bDebugOutEndpoint))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_interface_assoc_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bFirstInterface : __u8 , pub bInterfaceCount : __u8 , pub bFunctionClass : __u8 , pub bFunctionSubClass : __u8 , pub bFunctionProtocol : __u8 , pub iFunction : __u8 , } # [test] fn bindgen_test_layout_usb_interface_assoc_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_interface_assoc_descriptor > () , 8usize , concat ! ("Size of: " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_interface_assoc_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_interface_assoc_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFirstInterface as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFirstInterface))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bInterfaceCount as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bInterfaceCount))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionClass as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionSubClass as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionSubClass))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . bFunctionProtocol as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (bFunctionProtocol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_interface_assoc_descriptor > ())) . iFunction as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_interface_assoc_descriptor) , "::" , stringify ! (iFunction))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_security_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumEncryptionTypes : __u8 , } # [test] fn bindgen_test_layout_usb_security_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_security_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_security_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_security_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_security_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_security_descriptor > ())) . bNumEncryptionTypes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_security_descriptor) , "::" , stringify ! (bNumEncryptionTypes))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_key_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub tTKID : [__u8 ; 3usize] , pub bReserved : __u8 , pub bKeyData : __IncompleteArrayField < __u8 > , } # [test] fn bindgen_test_layout_usb_key_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_key_descriptor > () , 6usize , concat ! ("Size of: " , stringify ! (usb_key_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_key_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_key_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . tTKID as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (tTKID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bReserved as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_key_descriptor > ())) . bKeyData as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_key_descriptor) , "::" , stringify ! (bKeyData))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_encryption_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bEncryptionType : __u8 , pub bEncryptionValue : __u8 , pub bAuthKeyIndex : __u8 , } # [test] fn bindgen_test_layout_usb_encryption_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_encryption_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_encryption_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_encryption_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_encryption_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bEncryptionType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bEncryptionType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bEncryptionValue as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bEncryptionValue))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_encryption_descriptor > ())) . bAuthKeyIndex as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_encryption_descriptor) , "::" , stringify ! (bAuthKeyIndex))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_bos_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub wTotalLength : __le16 , pub bNumDeviceCaps : __u8 , } # [test] fn bindgen_test_layout_usb_bos_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_bos_descriptor > () , 5usize , concat ! ("Size of: " , stringify ! (usb_bos_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_bos_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_bos_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . wTotalLength as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (wTotalLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_bos_descriptor > ())) . bNumDeviceCaps as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_bos_descriptor) , "::" , stringify ! (bNumDeviceCaps))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_dev_cap_header { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , } # [test] fn bindgen_test_layout_usb_dev_cap_header () { assert_eq ! (:: std :: mem :: size_of :: < usb_dev_cap_header > () , 3usize , concat ! ("Size of: " , stringify ! (usb_dev_cap_header))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_dev_cap_header > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_dev_cap_header))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_dev_cap_header > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_dev_cap_header) , "::" , stringify ! (bDevCapabilityType))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_wireless_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __u8 , pub wPHYRates : __le16 , pub bmTFITXPowerInfo : __u8 , pub bmFFITXPowerInfo : __u8 , pub bmBandGroup : __le16 , pub bReserved : __u8 , } # [test] fn bindgen_test_layout_usb_wireless_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_wireless_cap_descriptor > () , 11usize , concat ! ("Size of: " , stringify ! (usb_wireless_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_wireless_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_wireless_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . wPHYRates as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (wPHYRates))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmTFITXPowerInfo as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmTFITXPowerInfo))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmFFITXPowerInfo as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmFFITXPowerInfo))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bmBandGroup as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bmBandGroup))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_cap_descriptor > ())) . bReserved as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_wireless_cap_descriptor) , "::" , stringify ! (bReserved))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ext_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __le32 , } # [test] fn bindgen_test_layout_usb_ext_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ext_cap_descriptor > () , 7usize , concat ! ("Size of: " , stringify ! (usb_ext_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ext_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ext_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ext_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bmAttributes : __u8 , pub wSpeedSupported : __le16 , pub bFunctionalitySupport : __u8 , pub bU1devExitLat : __u8 , pub bU2DevExitLat : __le16 , } # [test] fn bindgen_test_layout_usb_ss_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_cap_descriptor > () , 10usize , concat ! ("Size of: " , stringify ! (usb_ss_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . wSpeedSupported as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (wSpeedSupported))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bFunctionalitySupport as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bFunctionalitySupport))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bU1devExitLat as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bU1devExitLat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_cap_descriptor > ())) . bU2DevExitLat as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_ss_cap_descriptor) , "::" , stringify ! (bU2DevExitLat))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ss_container_id_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub ContainerID : [__u8 ; 16usize] , } # [test] fn bindgen_test_layout_usb_ss_container_id_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ss_container_id_descriptor > () , 20usize , concat ! ("Size of: " , stringify ! (usb_ss_container_id_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ss_container_id_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ss_container_id_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ss_container_id_descriptor > ())) . ContainerID as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ss_container_id_descriptor) , "::" , stringify ! (ContainerID))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_ssp_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmAttributes : __le32 , pub wFunctionalitySupport : __le16 , pub wReserved : __le16 , pub bmSublinkSpeedAttr : [__le32 ; 1usize] , } # [test] fn bindgen_test_layout_usb_ssp_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_ssp_cap_descriptor > () , 16usize , concat ! ("Size of: " , stringify ! (usb_ssp_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_ssp_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_ssp_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wFunctionalitySupport as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (wFunctionalitySupport))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . wReserved as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (wReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ssp_cap_descriptor > ())) . bmSublinkSpeedAttr as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_ssp_cap_descriptor) , "::" , stringify ! (bmSublinkSpeedAttr))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmAttributes : __le32 , pub bmProviderPorts : __le16 , pub bmConsumerPorts : __le16 , pub bcdBCVersion : __le16 , pub bcdPDVersion : __le16 , pub bcdUSBTypeCVersion : __le16 , } # [test] fn bindgen_test_layout_usb_pd_cap_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_descriptor > () , 18usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmAttributes as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmAttributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmProviderPorts as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmProviderPorts))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bmConsumerPorts as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bmConsumerPorts))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdBCVersion as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdBCVersion))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdPDVersion as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdPDVersion))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_descriptor > ())) . bcdUSBTypeCVersion as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_descriptor) , "::" , stringify ! (bcdUSBTypeCVersion))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_battery_info_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub iBattery : __u8 , pub iSerial : __u8 , pub iManufacturer : __u8 , pub bBatteryId : __u8 , pub bReserved : __u8 , pub dwChargedThreshold : __le32 , pub dwWeakThreshold : __le32 , pub dwBatteryDesignCapacity : __le32 , pub dwBatteryLastFullchargeCapacity : __le32 , } # [test] fn bindgen_test_layout_usb_pd_cap_battery_info_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_battery_info_descriptor > () , 24usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_battery_info_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_battery_info_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_battery_info_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iBattery as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iBattery))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iSerial as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iSerial))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . iManufacturer as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (iManufacturer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bBatteryId as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bBatteryId))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . bReserved as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwChargedThreshold as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwChargedThreshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwWeakThreshold as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwWeakThreshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryDesignCapacity as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwBatteryDesignCapacity))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_battery_info_descriptor > ())) . dwBatteryLastFullchargeCapacity as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_battery_info_descriptor) , "::" , stringify ! (dwBatteryLastFullchargeCapacity))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct usb_pd_cap_consumer_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved : __u8 , pub bmCapabilities : __u8 , pub wMinVoltage : __le16 , pub wMaxVoltage : __le16 , pub wReserved : __u16 , pub dwMaxOperatingPower : __le32 , pub dwMaxPeakPower : __le32 , pub dwMaxPeakPowerTime : __le32 , } # [test] fn bindgen_test_layout_usb_pd_cap_consumer_port_descriptor () { assert_eq ! (:: std :: mem :: size_of :: < usb_pd_cap_consumer_port_descriptor > () , 23usize , concat ! ("Size of: " , stringify ! (usb_pd_cap_consumer_port_descriptor))) ; assert_eq ! (:: std :: mem :: align_of :: < usb_pd_cap_consumer_port_descriptor > () , 1usize , concat ! ("Alignment of " , stringify ! (usb_pd_cap_consumer_port_descriptor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bLength as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bLength))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bDescriptorType as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bDescriptorType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bDevCapabilityType as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bDevCapabilityType))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bReserved as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . bmCapabilities as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (bmCapabilities))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMinVoltage as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wMinVoltage))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wMaxVoltage as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wMaxVoltage))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . wReserved as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (wReserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxOperatingPower as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxOperatingPower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPower as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxPeakPower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_consumer_port_descriptor > ())) . dwMaxPeakPowerTime as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (usb_pd_cap_consumer_port_descriptor) , "::" , stringify ! (dwMaxPeakPowerTime))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct usb_pd_cap_provider_port_descriptor { pub bLength : __u8 , pub bDescriptorType : __u8 , pub bDevCapabilityType : __u8 , pub bReserved1 : __u8 , pub bmCapabilities : __u8 , pub bNumOfPDObjects : __u8 , pub bReserved2 : __u8 , pub wPowerDataObject : __IncompleteArrayField < __le32 > , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type -------------------------------------------------------- you could clone this value [INFO] [stdout] = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour [INFO] [stdout] = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:81100 [INFO] [stdout] | [INFO] [stdout] 3 | ...sert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_pd_cap_provider_port_descriptor > ())) . wPowerDataObject as * const _ as usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:84433 [INFO] [stdout] | [INFO] [stdout] 3 | ...assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_ep_comp_descriptor > ())) . wMaxStreamDelay as * const _ as usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:84701 [INFO] [stdout] | [INFO] [stdout] 3 | ...ert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_wireless_ep_comp_descriptor > ())) . wOverTheAirPacketSize as * const _ as usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:91351 [INFO] [stdout] | [INFO] [stdout] 3 | ...(u1_pel))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_set_sel_req > ())) . u2_sel as * const _ as usize } , 2usize ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:91569 [INFO] [stdout] | [INFO] [stdout] 3 | ...(u2_sel))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_set_sel_req > ())) . u2_pel as * const _ as usize } , 4usize ,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:94478 [INFO] [stdout] | [INFO] [stdout] 3 | ...assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_endpoint_descriptor_no_audio > ())) . wMaxPacketSize as * const _ as usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:95560 [INFO] [stdout] | [INFO] [stdout] 3 | ...2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head_v2 > ())) . magic as * const _ as usize } , 0u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:95802 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head_v2 > ())) . length as * const _ as usize } , 4u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:96046 [INFO] [stdout] | [INFO] [stdout] 3 | ...h))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head_v2 > ())) . flags as * const _ as usize } , 8u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:96853 [INFO] [stdout] | [INFO] [stdout] 3 | ...ad))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head > ())) . magic as * const _ as usize } , 0usi... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:97089 [INFO] [stdout] | [INFO] [stdout] 3 | ...ic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head > ())) . length as * const _ as usize } , 4us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:97327 [INFO] [stdout] | [INFO] [stdout] 3 | ...h))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head > ())) . fs_count as * const _ as usize } , 8u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:97569 [INFO] [stdout] | [INFO] [stdout] 3 | ...t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_descs_head > ())) . hs_count as * const _ as usize } , 12... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:100687 [INFO] [stdout] | [INFO] [stdout] 3 | ...face))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_os_desc_header > ())) . dwLength as * const _ as usize } , 1usize... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:100915 [INFO] [stdout] | [INFO] [stdout] 3 | ...gth))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_os_desc_header > ())) . bcdVersion as * const _ as usize } , 5usiz... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:101147 [INFO] [stdout] | [INFO] [stdout] 3 | ...rsion))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_os_desc_header > ())) . wIndex as * const _ as usize } , 7usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:103690 [INFO] [stdout] | [INFO] [stdout] 3 | ...p_desc))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_prop_desc > ())) . dwSize as * const _ as usize } , 0usize ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:103912 [INFO] [stdout] | [INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_prop_desc > ())) . dwPropertyDataType as * const _ as usize } , 4... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:104158 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_ext_prop_desc > ())) . wPropertyNameLength as * const _ as usize } , 8... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:104986 [INFO] [stdout] | [INFO] [stdout] 3 | ...d))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_strings_head > ())) . magic as * const _ as usize } , 0us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:105226 [INFO] [stdout] | [INFO] [stdout] 3 | ...c))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_strings_head > ())) . length as * const _ as usize } , 4u... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:105468 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_strings_head > ())) . str_count as * const _ as usize } , 8... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0793]: reference to packed field is unaligned [INFO] [stdout] --> /opt/rustwide/target/debug/build/linux-usb-functionfs-sys-a657dbeb4c601789/out/bindings.rs:3:105716 [INFO] [stdout] | [INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < usb_functionfs_strings_head > ())) . lang_count as * const _ as usize } , ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses [INFO] [stdout] = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced) [INFO] [stdout] = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pointer` [INFO] [stdout] --> src/lib.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | let pointer: *const usb_functionfs_descriptors = &descriptors; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pointer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 67 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0507, E0793. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0507`. [INFO] [stdout] [INFO] [stderr] error: could not compile `linux-usb-functionfs-sys` (lib test) due to 68 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "b8585d9b2a0201222839b9251958466932d0fdc53983ba8d118f915745473e10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b8585d9b2a0201222839b9251958466932d0fdc53983ba8d118f915745473e10", kill_on_drop: false }` [INFO] [stdout] b8585d9b2a0201222839b9251958466932d0fdc53983ba8d118f915745473e10