1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] 2 #[link(name = "windows")] 3 extern "system" {} 4 pub type ISpiControllerProvider = *mut ::core::ffi::c_void; 5 pub type ISpiDeviceProvider = *mut ::core::ffi::c_void; 6 pub type ISpiProvider = *mut ::core::ffi::c_void; 7 pub type ProviderSpiConnectionSettings = *mut ::core::ffi::c_void; 8 #[repr(transparent)] 9 pub struct ProviderSpiMode(pub i32); 10 impl ProviderSpiMode { 11 pub const Mode0: Self = Self(0i32); 12 pub const Mode1: Self = Self(1i32); 13 pub const Mode2: Self = Self(2i32); 14 pub const Mode3: Self = Self(3i32); 15 } 16 impl ::core::marker::Copy for ProviderSpiMode {} 17 impl ::core::clone::Clone for ProviderSpiMode { clone(&self) -> Self18 fn clone(&self) -> Self { 19 *self 20 } 21 } 22 #[repr(transparent)] 23 pub struct ProviderSpiSharingMode(pub i32); 24 impl ProviderSpiSharingMode { 25 pub const Exclusive: Self = Self(0i32); 26 pub const Shared: Self = Self(1i32); 27 } 28 impl ::core::marker::Copy for ProviderSpiSharingMode {} 29 impl ::core::clone::Clone for ProviderSpiSharingMode { clone(&self) -> Self30 fn clone(&self) -> Self { 31 *self 32 } 33 } 34