#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] #[cfg(feature = "Devices_I2c_Provider")] pub mod Provider; #[link(name = "windows")] extern "system" {} #[repr(transparent)] pub struct I2cBusSpeed(pub i32); impl I2cBusSpeed { pub const StandardMode: Self = Self(0i32); pub const FastMode: Self = Self(1i32); } impl ::core::marker::Copy for I2cBusSpeed {} impl ::core::clone::Clone for I2cBusSpeed { fn clone(&self) -> Self { *self } } pub type I2cConnectionSettings = *mut ::core::ffi::c_void; pub type I2cController = *mut ::core::ffi::c_void; pub type I2cDevice = *mut ::core::ffi::c_void; #[repr(transparent)] pub struct I2cSharingMode(pub i32); impl I2cSharingMode { pub const Exclusive: Self = Self(0i32); pub const Shared: Self = Self(1i32); } impl ::core::marker::Copy for I2cSharingMode {} impl ::core::clone::Clone for I2cSharingMode { fn clone(&self) -> Self { *self } } #[repr(C)] pub struct I2cTransferResult { pub Status: I2cTransferStatus, pub BytesTransferred: u32, } impl ::core::marker::Copy for I2cTransferResult {} impl ::core::clone::Clone for I2cTransferResult { fn clone(&self) -> Self { *self } } #[repr(transparent)] pub struct I2cTransferStatus(pub i32); impl I2cTransferStatus { pub const FullTransfer: Self = Self(0i32); pub const PartialTransfer: Self = Self(1i32); pub const SlaveAddressNotAcknowledged: Self = Self(2i32); pub const ClockStretchTimeout: Self = Self(3i32); pub const UnknownError: Self = Self(4i32); } impl ::core::marker::Copy for I2cTransferStatus {} impl ::core::clone::Clone for I2cTransferStatus { fn clone(&self) -> Self { *self } } pub type II2cDeviceStatics = *mut ::core::ffi::c_void;