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 const GUID_DEVINTERFACE_PWM_CONTROLLER: ::windows_sys::core::GUID = ::windows_sys::core::GUID { data1: 1619151692, data2: 61137, data3: 19612, data4: [180, 156, 27, 150, 20, 97, 168, 25] };
5 pub const IOCTL_PWM_CONTROLLER_GET_ACTUAL_PERIOD: u32 = 262148u32;
6 pub const IOCTL_PWM_CONTROLLER_GET_INFO: u32 = 262144u32;
7 pub const IOCTL_PWM_CONTROLLER_SET_DESIRED_PERIOD: u32 = 294920u32;
8 pub const IOCTL_PWM_PIN_GET_ACTIVE_DUTY_CYCLE_PERCENTAGE: u32 = 262544u32;
9 pub const IOCTL_PWM_PIN_GET_POLARITY: u32 = 262552u32;
10 pub const IOCTL_PWM_PIN_IS_STARTED: u32 = 262568u32;
11 pub const IOCTL_PWM_PIN_SET_ACTIVE_DUTY_CYCLE_PERCENTAGE: u32 = 295316u32;
12 pub const IOCTL_PWM_PIN_SET_POLARITY: u32 = 295324u32;
13 pub const IOCTL_PWM_PIN_START: u32 = 295331u32;
14 pub const IOCTL_PWM_PIN_STOP: u32 = 295335u32;
15 #[repr(C)]
16 pub struct PWM_CONTROLLER_GET_ACTUAL_PERIOD_OUTPUT {
17     pub ActualPeriod: u64,
18 }
19 impl ::core::marker::Copy for PWM_CONTROLLER_GET_ACTUAL_PERIOD_OUTPUT {}
20 impl ::core::clone::Clone for PWM_CONTROLLER_GET_ACTUAL_PERIOD_OUTPUT {
clone(&self) -> Self21     fn clone(&self) -> Self {
22         *self
23     }
24 }
25 #[repr(C)]
26 pub struct PWM_CONTROLLER_INFO {
27     pub Size: usize,
28     pub PinCount: u32,
29     pub MinimumPeriod: u64,
30     pub MaximumPeriod: u64,
31 }
32 impl ::core::marker::Copy for PWM_CONTROLLER_INFO {}
33 impl ::core::clone::Clone for PWM_CONTROLLER_INFO {
clone(&self) -> Self34     fn clone(&self) -> Self {
35         *self
36     }
37 }
38 #[repr(C)]
39 pub struct PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT {
40     pub DesiredPeriod: u64,
41 }
42 impl ::core::marker::Copy for PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT {}
43 impl ::core::clone::Clone for PWM_CONTROLLER_SET_DESIRED_PERIOD_INPUT {
clone(&self) -> Self44     fn clone(&self) -> Self {
45         *self
46     }
47 }
48 #[repr(C)]
49 pub struct PWM_CONTROLLER_SET_DESIRED_PERIOD_OUTPUT {
50     pub ActualPeriod: u64,
51 }
52 impl ::core::marker::Copy for PWM_CONTROLLER_SET_DESIRED_PERIOD_OUTPUT {}
53 impl ::core::clone::Clone for PWM_CONTROLLER_SET_DESIRED_PERIOD_OUTPUT {
clone(&self) -> Self54     fn clone(&self) -> Self {
55         *self
56     }
57 }
58 pub const PWM_IOCTL_ID_CONTROLLER_GET_ACTUAL_PERIOD: i32 = 1i32;
59 pub const PWM_IOCTL_ID_CONTROLLER_GET_INFO: i32 = 0i32;
60 pub const PWM_IOCTL_ID_CONTROLLER_SET_DESIRED_PERIOD: i32 = 2i32;
61 pub const PWM_IOCTL_ID_PIN_GET_ACTIVE_DUTY_CYCLE_PERCENTAGE: i32 = 100i32;
62 pub const PWM_IOCTL_ID_PIN_GET_POLARITY: i32 = 102i32;
63 pub const PWM_IOCTL_ID_PIN_IS_STARTED: i32 = 106i32;
64 pub const PWM_IOCTL_ID_PIN_SET_ACTIVE_DUTY_CYCLE_PERCENTAGE: i32 = 101i32;
65 pub const PWM_IOCTL_ID_PIN_SET_POLARITY: i32 = 103i32;
66 pub const PWM_IOCTL_ID_PIN_START: i32 = 104i32;
67 pub const PWM_IOCTL_ID_PIN_STOP: i32 = 105i32;
68 #[repr(C)]
69 pub struct PWM_PIN_GET_ACTIVE_DUTY_CYCLE_PERCENTAGE_OUTPUT {
70     pub Percentage: u64,
71 }
72 impl ::core::marker::Copy for PWM_PIN_GET_ACTIVE_DUTY_CYCLE_PERCENTAGE_OUTPUT {}
73 impl ::core::clone::Clone for PWM_PIN_GET_ACTIVE_DUTY_CYCLE_PERCENTAGE_OUTPUT {
clone(&self) -> Self74     fn clone(&self) -> Self {
75         *self
76     }
77 }
78 #[repr(C)]
79 pub struct PWM_PIN_GET_POLARITY_OUTPUT {
80     pub Polarity: PWM_POLARITY,
81 }
82 impl ::core::marker::Copy for PWM_PIN_GET_POLARITY_OUTPUT {}
83 impl ::core::clone::Clone for PWM_PIN_GET_POLARITY_OUTPUT {
clone(&self) -> Self84     fn clone(&self) -> Self {
85         *self
86     }
87 }
88 #[repr(C)]
89 #[cfg(feature = "Win32_Foundation")]
90 pub struct PWM_PIN_IS_STARTED_OUTPUT {
91     pub IsStarted: super::super::Foundation::BOOLEAN,
92 }
93 #[cfg(feature = "Win32_Foundation")]
94 impl ::core::marker::Copy for PWM_PIN_IS_STARTED_OUTPUT {}
95 #[cfg(feature = "Win32_Foundation")]
96 impl ::core::clone::Clone for PWM_PIN_IS_STARTED_OUTPUT {
clone(&self) -> Self97     fn clone(&self) -> Self {
98         *self
99     }
100 }
101 #[repr(C)]
102 pub struct PWM_PIN_SET_ACTIVE_DUTY_CYCLE_PERCENTAGE_INPUT {
103     pub Percentage: u64,
104 }
105 impl ::core::marker::Copy for PWM_PIN_SET_ACTIVE_DUTY_CYCLE_PERCENTAGE_INPUT {}
106 impl ::core::clone::Clone for PWM_PIN_SET_ACTIVE_DUTY_CYCLE_PERCENTAGE_INPUT {
clone(&self) -> Self107     fn clone(&self) -> Self {
108         *self
109     }
110 }
111 #[repr(C)]
112 pub struct PWM_PIN_SET_POLARITY_INPUT {
113     pub Polarity: PWM_POLARITY,
114 }
115 impl ::core::marker::Copy for PWM_PIN_SET_POLARITY_INPUT {}
116 impl ::core::clone::Clone for PWM_PIN_SET_POLARITY_INPUT {
clone(&self) -> Self117     fn clone(&self) -> Self {
118         *self
119     }
120 }
121 pub type PWM_POLARITY = i32;
122 pub const PWM_ACTIVE_HIGH: PWM_POLARITY = 0i32;
123 pub const PWM_ACTIVE_LOW: PWM_POLARITY = 1i32;
124