| #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] |
| #[link(name = "windows")] |
| extern "system" {} |
| #[repr(C)] |
| pub struct GameControllerVersionInfo { |
| pub Major: u16, |
| pub Minor: u16, |
| pub Build: u16, |
| pub Revision: u16, |
| } |
| impl ::core::marker::Copy for GameControllerVersionInfo {} |
| impl ::core::clone::Clone for GameControllerVersionInfo { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[repr(C)] |
| pub struct GipFirmwareUpdateProgress { |
| pub PercentCompleted: f64, |
| pub CurrentComponentId: u32, |
| } |
| impl ::core::marker::Copy for GipFirmwareUpdateProgress {} |
| impl ::core::clone::Clone for GipFirmwareUpdateProgress { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| pub type GipFirmwareUpdateResult = *mut ::core::ffi::c_void; |
| #[repr(transparent)] |
| pub struct GipFirmwareUpdateStatus(pub i32); |
| impl GipFirmwareUpdateStatus { |
| pub const Completed: Self = Self(0i32); |
| pub const UpToDate: Self = Self(1i32); |
| pub const Failed: Self = Self(2i32); |
| } |
| impl ::core::marker::Copy for GipFirmwareUpdateStatus {} |
| impl ::core::clone::Clone for GipFirmwareUpdateStatus { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| pub type GipGameControllerProvider = *mut ::core::ffi::c_void; |
| #[repr(transparent)] |
| pub struct GipMessageClass(pub i32); |
| impl GipMessageClass { |
| pub const Command: Self = Self(0i32); |
| pub const LowLatency: Self = Self(1i32); |
| pub const StandardLatency: Self = Self(2i32); |
| } |
| impl ::core::marker::Copy for GipMessageClass {} |
| impl ::core::clone::Clone for GipMessageClass { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| pub type HidGameControllerProvider = *mut ::core::ffi::c_void; |
| pub type ICustomGameControllerFactory = *mut ::core::ffi::c_void; |
| pub type IGameControllerInputSink = *mut ::core::ffi::c_void; |
| pub type IGameControllerProvider = *mut ::core::ffi::c_void; |
| pub type IGipGameControllerInputSink = *mut ::core::ffi::c_void; |
| pub type IHidGameControllerInputSink = *mut ::core::ffi::c_void; |
| pub type IXusbGameControllerInputSink = *mut ::core::ffi::c_void; |
| #[repr(transparent)] |
| pub struct XusbDeviceSubtype(pub i32); |
| impl XusbDeviceSubtype { |
| pub const Unknown: Self = Self(0i32); |
| pub const Gamepad: Self = Self(1i32); |
| pub const ArcadePad: Self = Self(2i32); |
| pub const ArcadeStick: Self = Self(3i32); |
| pub const FlightStick: Self = Self(4i32); |
| pub const Wheel: Self = Self(5i32); |
| pub const Guitar: Self = Self(6i32); |
| pub const GuitarAlternate: Self = Self(7i32); |
| pub const GuitarBass: Self = Self(8i32); |
| pub const DrumKit: Self = Self(9i32); |
| pub const DancePad: Self = Self(10i32); |
| } |
| impl ::core::marker::Copy for XusbDeviceSubtype {} |
| impl ::core::clone::Clone for XusbDeviceSubtype { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[repr(transparent)] |
| pub struct XusbDeviceType(pub i32); |
| impl XusbDeviceType { |
| pub const Unknown: Self = Self(0i32); |
| pub const Gamepad: Self = Self(1i32); |
| } |
| impl ::core::marker::Copy for XusbDeviceType {} |
| impl ::core::clone::Clone for XusbDeviceType { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| pub type XusbGameControllerProvider = *mut ::core::ffi::c_void; |