]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Gaming/Input/Custom/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Gaming / Input / Custom / mod.rs
1 #[repr(C)]
2 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
3 pub struct GameControllerVersionInfo {
4 pub Major: u16,
5 pub Minor: u16,
6 pub Build: u16,
7 pub Revision: u16,
8 }
9 impl ::core::marker::Copy for GameControllerVersionInfo {}
10 impl ::core::clone::Clone for GameControllerVersionInfo {
11 fn clone(&self) -> Self {
12 *self
13 }
14 }
15 #[repr(C)]
16 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
17 pub struct GipFirmwareUpdateProgress {
18 pub PercentCompleted: f64,
19 pub CurrentComponentId: u32,
20 }
21 impl ::core::marker::Copy for GipFirmwareUpdateProgress {}
22 impl ::core::clone::Clone for GipFirmwareUpdateProgress {
23 fn clone(&self) -> Self {
24 *self
25 }
26 }
27 pub type GipFirmwareUpdateResult = *mut ::core::ffi::c_void;
28 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
29 #[repr(transparent)]
30 pub struct GipFirmwareUpdateStatus(pub i32);
31 impl GipFirmwareUpdateStatus {
32 pub const Completed: Self = Self(0i32);
33 pub const UpToDate: Self = Self(1i32);
34 pub const Failed: Self = Self(2i32);
35 }
36 impl ::core::marker::Copy for GipFirmwareUpdateStatus {}
37 impl ::core::clone::Clone for GipFirmwareUpdateStatus {
38 fn clone(&self) -> Self {
39 *self
40 }
41 }
42 pub type GipGameControllerProvider = *mut ::core::ffi::c_void;
43 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
44 #[repr(transparent)]
45 pub struct GipMessageClass(pub i32);
46 impl GipMessageClass {
47 pub const Command: Self = Self(0i32);
48 pub const LowLatency: Self = Self(1i32);
49 pub const StandardLatency: Self = Self(2i32);
50 }
51 impl ::core::marker::Copy for GipMessageClass {}
52 impl ::core::clone::Clone for GipMessageClass {
53 fn clone(&self) -> Self {
54 *self
55 }
56 }
57 pub type HidGameControllerProvider = *mut ::core::ffi::c_void;
58 pub type ICustomGameControllerFactory = *mut ::core::ffi::c_void;
59 pub type IGameControllerInputSink = *mut ::core::ffi::c_void;
60 pub type IGameControllerProvider = *mut ::core::ffi::c_void;
61 pub type IGipGameControllerInputSink = *mut ::core::ffi::c_void;
62 pub type IHidGameControllerInputSink = *mut ::core::ffi::c_void;
63 pub type IXusbGameControllerInputSink = *mut ::core::ffi::c_void;
64 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
65 #[repr(transparent)]
66 pub struct XusbDeviceSubtype(pub i32);
67 impl XusbDeviceSubtype {
68 pub const Unknown: Self = Self(0i32);
69 pub const Gamepad: Self = Self(1i32);
70 pub const ArcadePad: Self = Self(2i32);
71 pub const ArcadeStick: Self = Self(3i32);
72 pub const FlightStick: Self = Self(4i32);
73 pub const Wheel: Self = Self(5i32);
74 pub const Guitar: Self = Self(6i32);
75 pub const GuitarAlternate: Self = Self(7i32);
76 pub const GuitarBass: Self = Self(8i32);
77 pub const DrumKit: Self = Self(9i32);
78 pub const DancePad: Self = Self(10i32);
79 }
80 impl ::core::marker::Copy for XusbDeviceSubtype {}
81 impl ::core::clone::Clone for XusbDeviceSubtype {
82 fn clone(&self) -> Self {
83 *self
84 }
85 }
86 #[doc = "*Required features: `\"Gaming_Input_Custom\"`*"]
87 #[repr(transparent)]
88 pub struct XusbDeviceType(pub i32);
89 impl XusbDeviceType {
90 pub const Unknown: Self = Self(0i32);
91 pub const Gamepad: Self = Self(1i32);
92 }
93 impl ::core::marker::Copy for XusbDeviceType {}
94 impl ::core::clone::Clone for XusbDeviceType {
95 fn clone(&self) -> Self {
96 *self
97 }
98 }
99 pub type XusbGameControllerProvider = *mut ::core::ffi::c_void;