#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
#[cfg(feature = "Devices_Gpio_Provider")]
pub mod Provider;
#[repr(C)]
#[doc = "*Required features: 'Devices_Gpio', 'Foundation'*"]
#[cfg(feature = "Foundation")]
pub struct GpioChangeCount {
pub Count: u64,
pub RelativeTime: super::super::Foundation::TimeSpan,
}
#[cfg(feature = "Foundation")]
impl ::core::marker::Copy for GpioChangeCount {}
#[cfg(feature = "Foundation")]
impl ::core::clone::Clone for GpioChangeCount {
fn clone(&self) -> Self {
*self
}
}
pub type GpioChangeCounter = *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioChangePolarity(pub i32);
impl GpioChangePolarity {
pub const Falling: Self = Self(0i32);
pub const Rising: Self = Self(1i32);
pub const Both: Self = Self(2i32);
}
impl ::core::marker::Copy for GpioChangePolarity {}
impl ::core::clone::Clone for GpioChangePolarity {
fn clone(&self) -> Self {
*self
}
}
pub type GpioChangeReader = *mut ::core::ffi::c_void;
#[repr(C)]
#[doc = "*Required features: 'Devices_Gpio', 'Foundation'*"]
#[cfg(feature = "Foundation")]
pub struct GpioChangeRecord {
pub RelativeTime: super::super::Foundation::TimeSpan,
pub Edge: GpioPinEdge,
}
#[cfg(feature = "Foundation")]
impl ::core::marker::Copy for GpioChangeRecord {}
#[cfg(feature = "Foundation")]
impl ::core::clone::Clone for GpioChangeRecord {
fn clone(&self) -> Self {
*self
}
}
pub type GpioController = *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioOpenStatus(pub i32);
impl GpioOpenStatus {
pub const PinOpened: Self = Self(0i32);
pub const PinUnavailable: Self = Self(1i32);
pub const SharingViolation: Self = Self(2i32);
pub const MuxingConflict: Self = Self(3i32);
pub const UnknownError: Self = Self(4i32);
}
impl ::core::marker::Copy for GpioOpenStatus {}
impl ::core::clone::Clone for GpioOpenStatus {
fn clone(&self) -> Self {
*self
}
}
pub type GpioPin = *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioPinDriveMode(pub i32);
impl GpioPinDriveMode {
pub const Input: Self = Self(0i32);
pub const Output: Self = Self(1i32);
pub const InputPullUp: Self = Self(2i32);
pub const InputPullDown: Self = Self(3i32);
pub const OutputOpenDrain: Self = Self(4i32);
pub const OutputOpenDrainPullUp: Self = Self(5i32);
pub const OutputOpenSource: Self = Self(6i32);
pub const OutputOpenSourcePullDown: Self = Self(7i32);
}
impl ::core::marker::Copy for GpioPinDriveMode {}
impl ::core::clone::Clone for GpioPinDriveMode {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioPinEdge(pub i32);
impl GpioPinEdge {
pub const FallingEdge: Self = Self(0i32);
pub const RisingEdge: Self = Self(1i32);
}
impl ::core::marker::Copy for GpioPinEdge {}
impl ::core::clone::Clone for GpioPinEdge {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioPinValue(pub i32);
impl GpioPinValue {
pub const Low: Self = Self(0i32);
pub const High: Self = Self(1i32);
}
impl ::core::marker::Copy for GpioPinValue {}
impl ::core::clone::Clone for GpioPinValue {
fn clone(&self) -> Self {
*self
}
}
pub type GpioPinValueChangedEventArgs = *mut ::core::ffi::c_void;
#[doc = "*Required features: 'Devices_Gpio'*"]
#[repr(transparent)]
pub struct GpioSharingMode(pub i32);
impl GpioSharingMode {
pub const Exclusive: Self = Self(0i32);
pub const SharedReadOnly: Self = Self(1i32);
}
impl ::core::marker::Copy for GpioSharingMode {}
impl ::core::clone::Clone for GpioSharingMode {
fn clone(&self) -> Self {
*self
}
}