1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
4 pub type II2cControllerProvider
= *mut ::core
::ffi
::c_void
;
5 pub type II2cDeviceProvider
= *mut ::core
::ffi
::c_void
;
6 pub type II2cProvider
= *mut ::core
::ffi
::c_void
;
8 pub struct ProviderI2cBusSpeed(pub i32);
9 impl ProviderI2cBusSpeed
{
10 pub const StandardMode
: Self = Self(0i32);
11 pub const FastMode
: Self = Self(1i32);
13 impl ::core
::marker
::Copy
for ProviderI2cBusSpeed {}
14 impl ::core
::clone
::Clone
for ProviderI2cBusSpeed
{
15 fn clone(&self) -> Self {
19 pub type ProviderI2cConnectionSettings
= *mut ::core
::ffi
::c_void
;
21 pub struct ProviderI2cSharingMode(pub i32);
22 impl ProviderI2cSharingMode
{
23 pub const Exclusive
: Self = Self(0i32);
24 pub const Shared
: Self = Self(1i32);
26 impl ::core
::marker
::Copy
for ProviderI2cSharingMode {}
27 impl ::core
::clone
::Clone
for ProviderI2cSharingMode
{
28 fn clone(&self) -> Self {
33 pub struct ProviderI2cTransferResult
{
34 pub Status
: ProviderI2cTransferStatus
,
35 pub BytesTransferred
: u32,
37 impl ::core
::marker
::Copy
for ProviderI2cTransferResult {}
38 impl ::core
::clone
::Clone
for ProviderI2cTransferResult
{
39 fn clone(&self) -> Self {
44 pub struct ProviderI2cTransferStatus(pub i32);
45 impl ProviderI2cTransferStatus
{
46 pub const FullTransfer
: Self = Self(0i32);
47 pub const PartialTransfer
: Self = Self(1i32);
48 pub const SlaveAddressNotAcknowledged
: Self = Self(2i32);
50 impl ::core
::marker
::Copy
for ProviderI2cTransferStatus {}
51 impl ::core
::clone
::Clone
for ProviderI2cTransferStatus
{
52 fn clone(&self) -> Self {