1#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7 #[inline]
8 pub const fn new() -> Self {
9 __IncompleteArrayField(::core::marker::PhantomData, [])
10 }
11 #[inline]
12 pub fn as_ptr(&self) -> *const T {
13 self as *const _ as *const T
14 }
15 #[inline]
16 pub fn as_mut_ptr(&mut self) -> *mut T {
17 self as *mut _ as *mut T
18 }
19 #[inline]
20 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21 ::core::slice::from_raw_parts(self.as_ptr(), len)
22 }
23 #[inline]
24 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26 }
27}
28impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
29 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30 fmt.write_str("__IncompleteArrayField")
31 }
32}
33#[repr(C)]
34pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
35impl<T> __BindgenUnionField<T> {
36 #[inline]
37 pub const fn new() -> Self {
38 __BindgenUnionField(::core::marker::PhantomData)
39 }
40 #[inline]
41 pub unsafe fn as_ref(&self) -> &T {
42 ::core::mem::transmute(self)
43 }
44 #[inline]
45 pub unsafe fn as_mut(&mut self) -> &mut T {
46 ::core::mem::transmute(self)
47 }
48}
49impl<T> ::core::default::Default for __BindgenUnionField<T> {
50 #[inline]
51 fn default() -> Self {
52 Self::new()
53 }
54}
55impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
56 #[inline]
57 fn clone(&self) -> Self {
58 *self
59 }
60}
61impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
62impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
63 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
64 fmt.write_str("__BindgenUnionField")
65 }
66}
67impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
68 fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
69}
70impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
71 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
72 true
73 }
74}
75impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}
76pub const USBDEVICE_SUPER_MAGIC: i32 = 40866;
77pub const USBDEVFS_MAXDRIVERNAME: i32 = 255;
78pub const USBDEVFS_URB_SHORT_NOT_OK: i32 = 1;
79pub const USBDEVFS_URB_ISO_ASAP: i32 = 2;
80pub const USBDEVFS_URB_BULK_CONTINUATION: i32 = 4;
81pub const USBDEVFS_URB_NO_FSBR: i32 = 32;
82pub const USBDEVFS_URB_ZERO_PACKET: i32 = 64;
83pub const USBDEVFS_URB_NO_INTERRUPT: i32 = 128;
84pub const USBDEVFS_URB_TYPE_ISO: i32 = 0;
85pub const USBDEVFS_URB_TYPE_INTERRUPT: i32 = 1;
86pub const USBDEVFS_URB_TYPE_CONTROL: i32 = 2;
87pub const USBDEVFS_URB_TYPE_BULK: i32 = 3;
88pub const USBDEVFS_CAP_ZERO_PACKET: i32 = 1;
89pub const USBDEVFS_CAP_BULK_CONTINUATION: i32 = 2;
90pub const USBDEVFS_CAP_NO_PACKET_SIZE_LIM: i32 = 4;
91pub const USBDEVFS_CAP_BULK_SCATTER_GATHER: i32 = 8;
92pub const USBDEVFS_CAP_REAP_AFTER_DISCONNECT: i32 = 16;
93pub const USBDEVFS_CAP_MMAP: i32 = 32;
94pub const USBDEVFS_CAP_DROP_PRIVILEGES: i32 = 64;
95pub const USBDEVFS_CAP_CONNINFO_EX: i32 = 128;
96pub const USBDEVFS_CAP_SUSPEND: i32 = 256;
97pub const USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER: i32 = 1;
98pub const USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER: i32 = 2;
99pub const USBIP_URB_SHORT_NOT_OK: i32 = 1;
100pub const USBIP_URB_ISO_ASAP: i32 = 2;
101pub const USBIP_URB_NO_TRANSFER_DMA_MAP: i32 = 4;
102pub const USBIP_URB_ZERO_PACKET: i32 = 64;
103pub const USBIP_URB_NO_INTERRUPT: i32 = 128;
104pub const USBIP_URB_FREE_BUFFER: i32 = 256;
105pub const USBIP_URB_DIR_IN: i32 = 512;
106pub const USBIP_URB_DIR_OUT: i32 = 0;
107pub const USBIP_URB_DIR_MASK: i32 = 512;
108pub const USBIP_URB_DMA_MAP_SINGLE: i32 = 65536;
109pub const USBIP_URB_DMA_MAP_PAGE: i32 = 131072;
110pub const USBIP_URB_DMA_MAP_SG: i32 = 262144;
111pub const USBIP_URB_MAP_LOCAL: i32 = 524288;
112pub const USBIP_URB_SETUP_MAP_SINGLE: i32 = 1048576;
113pub const USBIP_URB_SETUP_MAP_LOCAL: i32 = 2097152;
114pub const USBIP_URB_DMA_SG_COMBINED: i32 = 4194304;
115pub const USBIP_URB_ALIGNED_TEMP_BUFFER: i32 = 8388608;
116pub const USB_DIR_OUT: i32 = 0;
117pub const USB_DIR_IN: i32 = 128;
118pub const USB_TYPE_MASK: i32 = 96;
119pub const USB_TYPE_STANDARD: i32 = 0;
120pub const USB_TYPE_CLASS: i32 = 32;
121pub const USB_TYPE_VENDOR: i32 = 64;
122pub const USB_TYPE_RESERVED: i32 = 96;
123pub const USB_RECIP_MASK: i32 = 31;
124pub const USB_RECIP_DEVICE: i32 = 0;
125pub const USB_RECIP_INTERFACE: i32 = 1;
126pub const USB_RECIP_ENDPOINT: i32 = 2;
127pub const USB_RECIP_OTHER: i32 = 3;
128pub const USB_RECIP_PORT: i32 = 4;
129pub const USB_RECIP_RPIPE: i32 = 5;
130pub const USB_REQ_GET_STATUS: i32 = 0;
131pub const USB_REQ_CLEAR_FEATURE: i32 = 1;
132pub const USB_REQ_SET_FEATURE: i32 = 3;
133pub const USB_REQ_SET_ADDRESS: i32 = 5;
134pub const USB_REQ_GET_DESCRIPTOR: i32 = 6;
135pub const USB_REQ_SET_DESCRIPTOR: i32 = 7;
136pub const USB_REQ_GET_CONFIGURATION: i32 = 8;
137pub const USB_REQ_SET_CONFIGURATION: i32 = 9;
138pub const USB_REQ_GET_INTERFACE: i32 = 10;
139pub const USB_REQ_SET_INTERFACE: i32 = 11;
140pub const USB_REQ_SYNCH_FRAME: i32 = 12;
141pub const USB_REQ_SET_SEL: i32 = 48;
142pub const USB_REQ_SET_ISOCH_DELAY: i32 = 49;
143pub const USB_REQ_SET_ENCRYPTION: i32 = 13;
144pub const USB_REQ_GET_ENCRYPTION: i32 = 14;
145pub const USB_REQ_RPIPE_ABORT: i32 = 14;
146pub const USB_REQ_SET_HANDSHAKE: i32 = 15;
147pub const USB_REQ_RPIPE_RESET: i32 = 15;
148pub const USB_REQ_GET_HANDSHAKE: i32 = 16;
149pub const USB_REQ_SET_CONNECTION: i32 = 17;
150pub const USB_REQ_SET_SECURITY_DATA: i32 = 18;
151pub const USB_REQ_GET_SECURITY_DATA: i32 = 19;
152pub const USB_REQ_SET_WUSB_DATA: i32 = 20;
153pub const USB_REQ_LOOPBACK_DATA_WRITE: i32 = 21;
154pub const USB_REQ_LOOPBACK_DATA_READ: i32 = 22;
155pub const USB_REQ_SET_INTERFACE_DS: i32 = 23;
156pub const USB_REQ_GET_PARTNER_PDO: i32 = 20;
157pub const USB_REQ_GET_BATTERY_STATUS: i32 = 21;
158pub const USB_REQ_SET_PDO: i32 = 22;
159pub const USB_REQ_GET_VDM: i32 = 23;
160pub const USB_REQ_SEND_VDM: i32 = 24;
161pub const USB_DEVICE_SELF_POWERED: i32 = 0;
162pub const USB_DEVICE_REMOTE_WAKEUP: i32 = 1;
163pub const USB_DEVICE_TEST_MODE: i32 = 2;
164pub const USB_DEVICE_BATTERY: i32 = 2;
165pub const USB_DEVICE_B_HNP_ENABLE: i32 = 3;
166pub const USB_DEVICE_WUSB_DEVICE: i32 = 3;
167pub const USB_DEVICE_A_HNP_SUPPORT: i32 = 4;
168pub const USB_DEVICE_A_ALT_HNP_SUPPORT: i32 = 5;
169pub const USB_DEVICE_DEBUG_MODE: i32 = 6;
170pub const USB_TEST_J: i32 = 1;
171pub const USB_TEST_K: i32 = 2;
172pub const USB_TEST_SE0_NAK: i32 = 3;
173pub const USB_TEST_PACKET: i32 = 4;
174pub const USB_TEST_FORCE_ENABLE: i32 = 5;
175pub const USB_STATUS_TYPE_STANDARD: i32 = 0;
176pub const USB_STATUS_TYPE_PTM: i32 = 1;
177pub const USB_DEVICE_U1_ENABLE: i32 = 48;
178pub const USB_DEVICE_U2_ENABLE: i32 = 49;
179pub const USB_DEVICE_LTM_ENABLE: i32 = 50;
180pub const USB_INTRF_FUNC_SUSPEND: i32 = 0;
181pub const USB_INTR_FUNC_SUSPEND_OPT_MASK: i32 = 65280;
182pub const USB_INTRF_FUNC_SUSPEND_LP: i32 = 256;
183pub const USB_INTRF_FUNC_SUSPEND_RW: i32 = 512;
184pub const USB_INTRF_STAT_FUNC_RW_CAP: i32 = 1;
185pub const USB_INTRF_STAT_FUNC_RW: i32 = 2;
186pub const USB_ENDPOINT_HALT: i32 = 0;
187pub const USB_DEV_STAT_U1_ENABLED: i32 = 2;
188pub const USB_DEV_STAT_U2_ENABLED: i32 = 3;
189pub const USB_DEV_STAT_LTM_ENABLED: i32 = 4;
190pub const USB_DEVICE_BATTERY_WAKE_MASK: i32 = 40;
191pub const USB_DEVICE_OS_IS_PD_AWARE: i32 = 41;
192pub const USB_DEVICE_POLICY_MODE: i32 = 42;
193pub const USB_PORT_PR_SWAP: i32 = 43;
194pub const USB_PORT_GOTO_MIN: i32 = 44;
195pub const USB_PORT_RETURN_POWER: i32 = 45;
196pub const USB_PORT_ACCEPT_PD_REQUEST: i32 = 46;
197pub const USB_PORT_REJECT_PD_REQUEST: i32 = 47;
198pub const USB_PORT_PORT_PD_RESET: i32 = 48;
199pub const USB_PORT_C_PORT_PD_CHANGE: i32 = 49;
200pub const USB_PORT_CABLE_PD_RESET: i32 = 50;
201pub const USB_DEVICE_CHARGING_POLICY: i32 = 54;
202pub const USB_DT_DEVICE: i32 = 1;
203pub const USB_DT_CONFIG: i32 = 2;
204pub const USB_DT_STRING: i32 = 3;
205pub const USB_DT_INTERFACE: i32 = 4;
206pub const USB_DT_ENDPOINT: i32 = 5;
207pub const USB_DT_DEVICE_QUALIFIER: i32 = 6;
208pub const USB_DT_OTHER_SPEED_CONFIG: i32 = 7;
209pub const USB_DT_INTERFACE_POWER: i32 = 8;
210pub const USB_DT_OTG: i32 = 9;
211pub const USB_DT_DEBUG: i32 = 10;
212pub const USB_DT_INTERFACE_ASSOCIATION: i32 = 11;
213pub const USB_DT_SECURITY: i32 = 12;
214pub const USB_DT_KEY: i32 = 13;
215pub const USB_DT_ENCRYPTION_TYPE: i32 = 14;
216pub const USB_DT_BOS: i32 = 15;
217pub const USB_DT_DEVICE_CAPABILITY: i32 = 16;
218pub const USB_DT_WIRELESS_ENDPOINT_COMP: i32 = 17;
219pub const USB_DT_WIRE_ADAPTER: i32 = 33;
220pub const USB_DT_RPIPE: i32 = 34;
221pub const USB_DT_CS_RADIO_CONTROL: i32 = 35;
222pub const USB_DT_PIPE_USAGE: i32 = 36;
223pub const USB_DT_SS_ENDPOINT_COMP: i32 = 48;
224pub const USB_DT_SSP_ISOC_ENDPOINT_COMP: i32 = 49;
225pub const USB_DT_CS_DEVICE: i32 = 33;
226pub const USB_DT_CS_CONFIG: i32 = 34;
227pub const USB_DT_CS_STRING: i32 = 35;
228pub const USB_DT_CS_INTERFACE: i32 = 36;
229pub const USB_DT_CS_ENDPOINT: i32 = 37;
230pub const USB_DT_DEVICE_SIZE: i32 = 18;
231pub const USB_CLASS_PER_INTERFACE: i32 = 0;
232pub const USB_CLASS_AUDIO: i32 = 1;
233pub const USB_CLASS_COMM: i32 = 2;
234pub const USB_CLASS_HID: i32 = 3;
235pub const USB_CLASS_PHYSICAL: i32 = 5;
236pub const USB_CLASS_STILL_IMAGE: i32 = 6;
237pub const USB_CLASS_PRINTER: i32 = 7;
238pub const USB_CLASS_MASS_STORAGE: i32 = 8;
239pub const USB_CLASS_HUB: i32 = 9;
240pub const USB_CLASS_CDC_DATA: i32 = 10;
241pub const USB_CLASS_CSCID: i32 = 11;
242pub const USB_CLASS_CONTENT_SEC: i32 = 13;
243pub const USB_CLASS_VIDEO: i32 = 14;
244pub const USB_CLASS_WIRELESS_CONTROLLER: i32 = 224;
245pub const USB_CLASS_PERSONAL_HEALTHCARE: i32 = 15;
246pub const USB_CLASS_AUDIO_VIDEO: i32 = 16;
247pub const USB_CLASS_BILLBOARD: i32 = 17;
248pub const USB_CLASS_USB_TYPE_C_BRIDGE: i32 = 18;
249pub const USB_CLASS_MISC: i32 = 239;
250pub const USB_CLASS_APP_SPEC: i32 = 254;
251pub const USB_CLASS_VENDOR_SPEC: i32 = 255;
252pub const USB_SUBCLASS_VENDOR_SPEC: i32 = 255;
253pub const USB_DT_CONFIG_SIZE: i32 = 9;
254pub const USB_CONFIG_ATT_ONE: i32 = 128;
255pub const USB_CONFIG_ATT_SELFPOWER: i32 = 64;
256pub const USB_CONFIG_ATT_WAKEUP: i32 = 32;
257pub const USB_CONFIG_ATT_BATTERY: i32 = 16;
258pub const USB_MAX_STRING_LEN: i32 = 126;
259pub const USB_DT_INTERFACE_SIZE: i32 = 9;
260pub const USB_DT_ENDPOINT_SIZE: i32 = 7;
261pub const USB_DT_ENDPOINT_AUDIO_SIZE: i32 = 9;
262pub const USB_ENDPOINT_NUMBER_MASK: i32 = 15;
263pub const USB_ENDPOINT_DIR_MASK: i32 = 128;
264pub const USB_ENDPOINT_XFERTYPE_MASK: i32 = 3;
265pub const USB_ENDPOINT_XFER_CONTROL: i32 = 0;
266pub const USB_ENDPOINT_XFER_ISOC: i32 = 1;
267pub const USB_ENDPOINT_XFER_BULK: i32 = 2;
268pub const USB_ENDPOINT_XFER_INT: i32 = 3;
269pub const USB_ENDPOINT_MAX_ADJUSTABLE: i32 = 128;
270pub const USB_ENDPOINT_MAXP_MASK: i32 = 2047;
271pub const USB_EP_MAXP_MULT_SHIFT: i32 = 11;
272pub const USB_EP_MAXP_MULT_MASK: i32 = 6144;
273pub const USB_ENDPOINT_INTRTYPE: i32 = 48;
274pub const USB_ENDPOINT_INTR_PERIODIC: i32 = 0;
275pub const USB_ENDPOINT_INTR_NOTIFICATION: i32 = 16;
276pub const USB_ENDPOINT_SYNCTYPE: i32 = 12;
277pub const USB_ENDPOINT_SYNC_NONE: i32 = 0;
278pub const USB_ENDPOINT_SYNC_ASYNC: i32 = 4;
279pub const USB_ENDPOINT_SYNC_ADAPTIVE: i32 = 8;
280pub const USB_ENDPOINT_SYNC_SYNC: i32 = 12;
281pub const USB_ENDPOINT_USAGE_MASK: i32 = 48;
282pub const USB_ENDPOINT_USAGE_DATA: i32 = 0;
283pub const USB_ENDPOINT_USAGE_FEEDBACK: i32 = 16;
284pub const USB_ENDPOINT_USAGE_IMPLICIT_FB: i32 = 32;
285pub const USB_DT_SSP_ISOC_EP_COMP_SIZE: i32 = 8;
286pub const USB_DT_SS_EP_COMP_SIZE: i32 = 6;
287pub const USB_OTG_SRP: i32 = 1;
288pub const USB_OTG_HNP: i32 = 2;
289pub const USB_OTG_ADP: i32 = 4;
290pub const USB_DT_INTERFACE_ASSOCIATION_SIZE: i32 = 8;
291pub const USB_ENC_TYPE_UNSECURE: i32 = 0;
292pub const USB_ENC_TYPE_WIRED: i32 = 1;
293pub const USB_ENC_TYPE_CCM_1: i32 = 2;
294pub const USB_ENC_TYPE_RSA_1: i32 = 3;
295pub const USB_DT_BOS_SIZE: i32 = 5;
296pub const USB_CAP_TYPE_WIRELESS_USB: i32 = 1;
297pub const USB_WIRELESS_P2P_DRD: i32 = 2;
298pub const USB_WIRELESS_BEACON_MASK: i32 = 12;
299pub const USB_WIRELESS_BEACON_SELF: i32 = 4;
300pub const USB_WIRELESS_BEACON_DIRECTED: i32 = 8;
301pub const USB_WIRELESS_BEACON_NONE: i32 = 12;
302pub const USB_WIRELESS_PHY_53: i32 = 1;
303pub const USB_WIRELESS_PHY_80: i32 = 2;
304pub const USB_WIRELESS_PHY_107: i32 = 4;
305pub const USB_WIRELESS_PHY_160: i32 = 8;
306pub const USB_WIRELESS_PHY_200: i32 = 16;
307pub const USB_WIRELESS_PHY_320: i32 = 32;
308pub const USB_WIRELESS_PHY_400: i32 = 64;
309pub const USB_WIRELESS_PHY_480: i32 = 128;
310pub const USB_DT_USB_WIRELESS_CAP_SIZE: i32 = 11;
311pub const USB_CAP_TYPE_EXT: i32 = 2;
312pub const USB_LPM_SUPPORT: i32 = 2;
313pub const USB_BESL_SUPPORT: i32 = 4;
314pub const USB_BESL_BASELINE_VALID: i32 = 8;
315pub const USB_BESL_DEEP_VALID: i32 = 16;
316pub const USB_DT_USB_EXT_CAP_SIZE: i32 = 7;
317pub const USB_SS_CAP_TYPE: i32 = 3;
318pub const USB_LTM_SUPPORT: i32 = 2;
319pub const USB_LOW_SPEED_OPERATION: i32 = 1;
320pub const USB_FULL_SPEED_OPERATION: i32 = 2;
321pub const USB_HIGH_SPEED_OPERATION: i32 = 4;
322pub const USB_5GBPS_OPERATION: i32 = 8;
323pub const USB_DT_USB_SS_CAP_SIZE: i32 = 10;
324pub const USB_DT_USB_SS_CONTN_ID_SIZE: i32 = 20;
325pub const USB_PLAT_DEV_CAP_TYPE: i32 = 5;
326pub const USB_SSP_CAP_TYPE: i32 = 10;
327pub const USB_SSP_SUBLINK_SPEED_ATTRIBS: i32 = 31;
328pub const USB_SSP_SUBLINK_SPEED_IDS: i32 = 480;
329pub const USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID: i32 = 15;
330pub const USB_SSP_MIN_RX_LANE_COUNT: i32 = 3840;
331pub const USB_SSP_MIN_TX_LANE_COUNT: i32 = 61440;
332pub const USB_SSP_SUBLINK_SPEED_SSID: i32 = 15;
333pub const USB_SSP_SUBLINK_SPEED_LSE: i32 = 48;
334pub const USB_SSP_SUBLINK_SPEED_LSE_BPS: i32 = 0;
335pub const USB_SSP_SUBLINK_SPEED_LSE_KBPS: i32 = 1;
336pub const USB_SSP_SUBLINK_SPEED_LSE_MBPS: i32 = 2;
337pub const USB_SSP_SUBLINK_SPEED_LSE_GBPS: i32 = 3;
338pub const USB_SSP_SUBLINK_SPEED_ST: i32 = 192;
339pub const USB_SSP_SUBLINK_SPEED_ST_SYM_RX: i32 = 0;
340pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_RX: i32 = 1;
341pub const USB_SSP_SUBLINK_SPEED_ST_SYM_TX: i32 = 2;
342pub const USB_SSP_SUBLINK_SPEED_ST_ASYM_TX: i32 = 3;
343pub const USB_SSP_SUBLINK_SPEED_RSVD: i32 = 16128;
344pub const USB_SSP_SUBLINK_SPEED_LP: i32 = 49152;
345pub const USB_SSP_SUBLINK_SPEED_LP_SS: i32 = 0;
346pub const USB_SSP_SUBLINK_SPEED_LP_SSP: i32 = 1;
347pub const USB_SSP_SUBLINK_SPEED_LSM: i32 = 16711680;
348pub const USB_PD_POWER_DELIVERY_CAPABILITY: i32 = 6;
349pub const USB_PD_BATTERY_INFO_CAPABILITY: i32 = 7;
350pub const USB_PD_PD_CONSUMER_PORT_CAPABILITY: i32 = 8;
351pub const USB_PD_PD_PROVIDER_PORT_CAPABILITY: i32 = 9;
352pub const USB_PD_CAP_BATTERY_CHARGING: i32 = 2;
353pub const USB_PD_CAP_USB_PD: i32 = 4;
354pub const USB_PD_CAP_PROVIDER: i32 = 8;
355pub const USB_PD_CAP_CONSUMER: i32 = 16;
356pub const USB_PD_CAP_CHARGING_POLICY: i32 = 32;
357pub const USB_PD_CAP_TYPE_C_CURRENT: i32 = 64;
358pub const USB_PD_CAP_PWR_AC: i32 = 256;
359pub const USB_PD_CAP_PWR_BAT: i32 = 512;
360pub const USB_PD_CAP_PWR_USE_V_BUS: i32 = 16384;
361pub const USB_PD_CAP_CONSUMER_BC: i32 = 1;
362pub const USB_PD_CAP_CONSUMER_PD: i32 = 2;
363pub const USB_PD_CAP_CONSUMER_TYPE_C: i32 = 4;
364pub const USB_PD_CAP_CONSUMER_UNKNOWN_PEAK_POWER_TIME: i32 = 65535;
365pub const USB_PD_CAP_PROVIDER_BC: i32 = 1;
366pub const USB_PD_CAP_PROVIDER_PD: i32 = 2;
367pub const USB_PD_CAP_PROVIDER_TYPE_C: i32 = 4;
368pub const USB_PTM_CAP_TYPE: i32 = 11;
369pub const USB_DT_USB_PTM_ID_SIZE: i32 = 3;
370pub const USB_ENDPOINT_SWITCH_MASK: i32 = 3;
371pub const USB_ENDPOINT_SWITCH_NO: i32 = 0;
372pub const USB_ENDPOINT_SWITCH_SWITCH: i32 = 1;
373pub const USB_ENDPOINT_SWITCH_SCALE: i32 = 2;
374pub const USB3_LPM_DISABLED: i32 = 0;
375pub const USB3_LPM_U1_MAX_TIMEOUT: i32 = 127;
376pub const USB3_LPM_U2_MAX_TIMEOUT: i32 = 254;
377pub const USB3_LPM_DEVICE_INITIATED: i32 = 255;
378pub const USB3_LPM_MAX_U1_SEL_PEL: i32 = 255;
379pub const USB3_LPM_MAX_U2_SEL_PEL: i32 = 65535;
380pub const USB_SELF_POWER_VBUS_MAX_DRAW: i32 = 100;
381pub type __u8 = ::core::ffi::c_uchar;
382pub type __u16 = ::core::ffi::c_ushort;
383pub type __u32 = ::core::ffi::c_uint;
384pub type __le16 = __u16;
385pub type __le32 = __u32;
386#[repr(C)]
387#[derive(Debug, Copy, Clone)]
388pub struct usbdevfs_ctrltransfer {
389 pub bRequestType: __u8,
390 pub bRequest: __u8,
391 pub wValue: __u16,
392 pub wIndex: __u16,
393 pub wLength: __u16,
394 pub timeout: __u32,
395 pub data: *mut ::core::ffi::c_void,
396}
397#[repr(C)]
398#[derive(Debug, Copy, Clone)]
399pub struct usbdevfs_bulktransfer {
400 pub ep: ::core::ffi::c_uint,
401 pub len: ::core::ffi::c_uint,
402 pub timeout: ::core::ffi::c_uint,
403 pub data: *mut ::core::ffi::c_void,
404}
405#[repr(C)]
406#[derive(Debug, Copy, Clone)]
407pub struct usbdevfs_setinterface {
408 pub interface: ::core::ffi::c_uint,
409 pub altsetting: ::core::ffi::c_uint,
410}
411#[repr(C)]
412#[derive(Debug, Copy, Clone)]
413pub struct usbdevfs_disconnectsignal {
414 pub signr: ::core::ffi::c_uint,
415 pub context: *mut ::core::ffi::c_void,
416}
417#[repr(C)]
418#[derive(Debug, Copy, Clone)]
419pub struct usbdevfs_getdriver {
420 pub interface: ::core::ffi::c_uint,
421 pub driver: [::core::ffi::c_char; 256usize],
422}
423#[repr(C)]
424#[derive(Debug, Copy, Clone)]
425pub struct usbdevfs_connectinfo {
426 pub devnum: ::core::ffi::c_uint,
427 pub slow: ::core::ffi::c_uchar,
428}
429#[repr(C)]
430#[derive(Debug, Copy, Clone)]
431pub struct usbdevfs_conninfo_ex {
432 pub size: __u32,
433 pub busnum: __u32,
434 pub devnum: __u32,
435 pub speed: __u32,
436 pub num_ports: __u8,
437 pub ports: [__u8; 7usize],
438}
439#[repr(C)]
440#[derive(Debug, Copy, Clone)]
441pub struct usbdevfs_iso_packet_desc {
442 pub length: ::core::ffi::c_uint,
443 pub actual_length: ::core::ffi::c_uint,
444 pub status: ::core::ffi::c_uint,
445}
446#[repr(C)]
447pub struct usbdevfs_urb {
448 pub type_: ::core::ffi::c_uchar,
449 pub endpoint: ::core::ffi::c_uchar,
450 pub status: ::core::ffi::c_int,
451 pub flags: ::core::ffi::c_uint,
452 pub buffer: *mut ::core::ffi::c_void,
453 pub buffer_length: ::core::ffi::c_int,
454 pub actual_length: ::core::ffi::c_int,
455 pub start_frame: ::core::ffi::c_int,
456 pub __bindgen_anon_1: usbdevfs_urb__bindgen_ty_1,
457 pub error_count: ::core::ffi::c_int,
458 pub signr: ::core::ffi::c_uint,
459 pub usercontext: *mut ::core::ffi::c_void,
460 pub iso_frame_desc: __IncompleteArrayField<usbdevfs_iso_packet_desc>,
461}
462#[repr(C)]
463#[derive(Copy, Clone)]
464pub union usbdevfs_urb__bindgen_ty_1 {
465 pub number_of_packets: ::core::ffi::c_int,
466 pub stream_id: ::core::ffi::c_uint,
467}
468#[repr(C)]
469#[derive(Debug, Copy, Clone)]
470pub struct usbdevfs_ioctl {
471 pub ifno: ::core::ffi::c_int,
472 pub ioctl_code: ::core::ffi::c_int,
473 pub data: *mut ::core::ffi::c_void,
474}
475#[repr(C)]
476#[derive(Debug, Copy, Clone)]
477pub struct usbdevfs_hub_portinfo {
478 pub nports: ::core::ffi::c_char,
479 pub port: [::core::ffi::c_char; 127usize],
480}
481#[repr(C)]
482#[derive(Debug, Copy, Clone)]
483pub struct usbdevfs_disconnect_claim {
484 pub interface: ::core::ffi::c_uint,
485 pub flags: ::core::ffi::c_uint,
486 pub driver: [::core::ffi::c_char; 256usize],
487}
488#[repr(C)]
489#[derive(Debug)]
490pub struct usbdevfs_streams {
491 pub num_streams: ::core::ffi::c_uint,
492 pub num_eps: ::core::ffi::c_uint,
493 pub eps: __IncompleteArrayField<::core::ffi::c_uchar>,
494}
495pub const usbip_device_status_SDEV_ST_AVAILABLE: usbip_device_status = 1;
496pub const usbip_device_status_SDEV_ST_USED: usbip_device_status = 2;
497pub const usbip_device_status_SDEV_ST_ERROR: usbip_device_status = 3;
498pub const usbip_device_status_VDEV_ST_NULL: usbip_device_status = 4;
499pub const usbip_device_status_VDEV_ST_NOTASSIGNED: usbip_device_status = 5;
500pub const usbip_device_status_VDEV_ST_USED: usbip_device_status = 6;
501pub const usbip_device_status_VDEV_ST_ERROR: usbip_device_status = 7;
502pub type usbip_device_status = ::core::ffi::c_uint;
503#[doc = " struct usb_ctrlrequest - SETUP data for a USB device control request\n @bRequestType: matches the USB bmRequestType field\n @bRequest: matches the USB bRequest field\n @wValue: matches the USB wValue field (le16 byte order)\n @wIndex: matches the USB wIndex field (le16 byte order)\n @wLength: matches the USB wLength field (le16 byte order)\n\n This structure is used to send control requests to a USB device. It matches\n the different fields of the USB 2.0 Spec section 9.3, table 9-2. See the\n USB spec for a fuller description of the different fields, and what they are\n used for.\n\n Note that the driver for any interface can issue control requests.\n For most devices, interfaces don't coordinate with each other, so\n such requests may be made at any time."]
504#[repr(C, packed)]
505#[derive(Debug, Copy, Clone)]
506pub struct usb_ctrlrequest {
507 pub bRequestType: __u8,
508 pub bRequest: __u8,
509 pub wValue: __le16,
510 pub wIndex: __le16,
511 pub wLength: __le16,
512}
513#[repr(C, packed)]
514#[derive(Debug, Copy, Clone)]
515pub struct usb_descriptor_header {
516 pub bLength: __u8,
517 pub bDescriptorType: __u8,
518}
519#[repr(C, packed)]
520#[derive(Debug, Copy, Clone)]
521pub struct usb_device_descriptor {
522 pub bLength: __u8,
523 pub bDescriptorType: __u8,
524 pub bcdUSB: __le16,
525 pub bDeviceClass: __u8,
526 pub bDeviceSubClass: __u8,
527 pub bDeviceProtocol: __u8,
528 pub bMaxPacketSize0: __u8,
529 pub idVendor: __le16,
530 pub idProduct: __le16,
531 pub bcdDevice: __le16,
532 pub iManufacturer: __u8,
533 pub iProduct: __u8,
534 pub iSerialNumber: __u8,
535 pub bNumConfigurations: __u8,
536}
537#[repr(C, packed)]
538#[derive(Debug, Copy, Clone)]
539pub struct usb_config_descriptor {
540 pub bLength: __u8,
541 pub bDescriptorType: __u8,
542 pub wTotalLength: __le16,
543 pub bNumInterfaces: __u8,
544 pub bConfigurationValue: __u8,
545 pub iConfiguration: __u8,
546 pub bmAttributes: __u8,
547 pub bMaxPower: __u8,
548}
549#[repr(C, packed)]
550pub struct usb_string_descriptor {
551 pub bLength: __u8,
552 pub bDescriptorType: __u8,
553 pub __bindgen_anon_1: usb_string_descriptor__bindgen_ty_1,
554}
555#[repr(C)]
556pub struct usb_string_descriptor__bindgen_ty_1 {
557 pub legacy_padding: __BindgenUnionField<__le16>,
558 pub __bindgen_anon_1: __BindgenUnionField<usb_string_descriptor__bindgen_ty_1__bindgen_ty_1>,
559 pub bindgen_union_field: u16,
560}
561#[repr(C)]
562#[derive(Debug)]
563pub struct usb_string_descriptor__bindgen_ty_1__bindgen_ty_1 {
564 pub __empty_wData: usb_string_descriptor__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
565 pub wData: __IncompleteArrayField<__le16>,
566}
567#[repr(C)]
568#[derive(Debug, Copy, Clone)]
569pub struct usb_string_descriptor__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {}
570#[repr(C, packed)]
571#[derive(Debug, Copy, Clone)]
572pub struct usb_interface_descriptor {
573 pub bLength: __u8,
574 pub bDescriptorType: __u8,
575 pub bInterfaceNumber: __u8,
576 pub bAlternateSetting: __u8,
577 pub bNumEndpoints: __u8,
578 pub bInterfaceClass: __u8,
579 pub bInterfaceSubClass: __u8,
580 pub bInterfaceProtocol: __u8,
581 pub iInterface: __u8,
582}
583#[repr(C, packed)]
584#[derive(Debug, Copy, Clone)]
585pub struct usb_endpoint_descriptor {
586 pub bLength: __u8,
587 pub bDescriptorType: __u8,
588 pub bEndpointAddress: __u8,
589 pub bmAttributes: __u8,
590 pub wMaxPacketSize: __le16,
591 pub bInterval: __u8,
592 pub bRefresh: __u8,
593 pub bSynchAddress: __u8,
594}
595#[repr(C, packed)]
596#[derive(Debug, Copy, Clone)]
597pub struct usb_ssp_isoc_ep_comp_descriptor {
598 pub bLength: __u8,
599 pub bDescriptorType: __u8,
600 pub wReseved: __le16,
601 pub dwBytesPerInterval: __le32,
602}
603#[repr(C, packed)]
604#[derive(Debug, Copy, Clone)]
605pub struct usb_ss_ep_comp_descriptor {
606 pub bLength: __u8,
607 pub bDescriptorType: __u8,
608 pub bMaxBurst: __u8,
609 pub bmAttributes: __u8,
610 pub wBytesPerInterval: __le16,
611}
612#[repr(C, packed)]
613#[derive(Debug, Copy, Clone)]
614pub struct usb_qualifier_descriptor {
615 pub bLength: __u8,
616 pub bDescriptorType: __u8,
617 pub bcdUSB: __le16,
618 pub bDeviceClass: __u8,
619 pub bDeviceSubClass: __u8,
620 pub bDeviceProtocol: __u8,
621 pub bMaxPacketSize0: __u8,
622 pub bNumConfigurations: __u8,
623 pub bRESERVED: __u8,
624}
625#[repr(C, packed)]
626#[derive(Debug, Copy, Clone)]
627pub struct usb_otg_descriptor {
628 pub bLength: __u8,
629 pub bDescriptorType: __u8,
630 pub bmAttributes: __u8,
631}
632#[repr(C, packed)]
633#[derive(Debug, Copy, Clone)]
634pub struct usb_otg20_descriptor {
635 pub bLength: __u8,
636 pub bDescriptorType: __u8,
637 pub bmAttributes: __u8,
638 pub bcdOTG: __le16,
639}
640#[repr(C, packed)]
641#[derive(Debug, Copy, Clone)]
642pub struct usb_debug_descriptor {
643 pub bLength: __u8,
644 pub bDescriptorType: __u8,
645 pub bDebugInEndpoint: __u8,
646 pub bDebugOutEndpoint: __u8,
647}
648#[repr(C, packed)]
649#[derive(Debug, Copy, Clone)]
650pub struct usb_interface_assoc_descriptor {
651 pub bLength: __u8,
652 pub bDescriptorType: __u8,
653 pub bFirstInterface: __u8,
654 pub bInterfaceCount: __u8,
655 pub bFunctionClass: __u8,
656 pub bFunctionSubClass: __u8,
657 pub bFunctionProtocol: __u8,
658 pub iFunction: __u8,
659}
660#[repr(C, packed)]
661#[derive(Debug, Copy, Clone)]
662pub struct usb_security_descriptor {
663 pub bLength: __u8,
664 pub bDescriptorType: __u8,
665 pub wTotalLength: __le16,
666 pub bNumEncryptionTypes: __u8,
667}
668#[repr(C, packed)]
669pub struct usb_key_descriptor {
670 pub bLength: __u8,
671 pub bDescriptorType: __u8,
672 pub tTKID: [__u8; 3usize],
673 pub bReserved: __u8,
674 pub bKeyData: __IncompleteArrayField<__u8>,
675}
676#[repr(C, packed)]
677#[derive(Debug, Copy, Clone)]
678pub struct usb_encryption_descriptor {
679 pub bLength: __u8,
680 pub bDescriptorType: __u8,
681 pub bEncryptionType: __u8,
682 pub bEncryptionValue: __u8,
683 pub bAuthKeyIndex: __u8,
684}
685#[repr(C, packed)]
686#[derive(Debug, Copy, Clone)]
687pub struct usb_bos_descriptor {
688 pub bLength: __u8,
689 pub bDescriptorType: __u8,
690 pub wTotalLength: __le16,
691 pub bNumDeviceCaps: __u8,
692}
693#[repr(C, packed)]
694#[derive(Debug, Copy, Clone)]
695pub struct usb_dev_cap_header {
696 pub bLength: __u8,
697 pub bDescriptorType: __u8,
698 pub bDevCapabilityType: __u8,
699}
700#[repr(C, packed)]
701#[derive(Debug, Copy, Clone)]
702pub struct usb_wireless_cap_descriptor {
703 pub bLength: __u8,
704 pub bDescriptorType: __u8,
705 pub bDevCapabilityType: __u8,
706 pub bmAttributes: __u8,
707 pub wPHYRates: __le16,
708 pub bmTFITXPowerInfo: __u8,
709 pub bmFFITXPowerInfo: __u8,
710 pub bmBandGroup: __le16,
711 pub bReserved: __u8,
712}
713#[repr(C, packed)]
714#[derive(Debug, Copy, Clone)]
715pub struct usb_ext_cap_descriptor {
716 pub bLength: __u8,
717 pub bDescriptorType: __u8,
718 pub bDevCapabilityType: __u8,
719 pub bmAttributes: __le32,
720}
721#[repr(C, packed)]
722#[derive(Debug, Copy, Clone)]
723pub struct usb_ss_cap_descriptor {
724 pub bLength: __u8,
725 pub bDescriptorType: __u8,
726 pub bDevCapabilityType: __u8,
727 pub bmAttributes: __u8,
728 pub wSpeedSupported: __le16,
729 pub bFunctionalitySupport: __u8,
730 pub bU1devExitLat: __u8,
731 pub bU2DevExitLat: __le16,
732}
733#[repr(C, packed)]
734#[derive(Debug, Copy, Clone)]
735pub struct usb_ss_container_id_descriptor {
736 pub bLength: __u8,
737 pub bDescriptorType: __u8,
738 pub bDevCapabilityType: __u8,
739 pub bReserved: __u8,
740 pub ContainerID: [__u8; 16usize],
741}
742#[repr(C, packed)]
743pub struct usb_plat_dev_cap_descriptor {
744 pub bLength: __u8,
745 pub bDescriptorType: __u8,
746 pub bDevCapabilityType: __u8,
747 pub bReserved: __u8,
748 pub UUID: [__u8; 16usize],
749 pub CapabilityData: __IncompleteArrayField<__u8>,
750}
751#[repr(C, packed)]
752pub struct usb_ssp_cap_descriptor {
753 pub bLength: __u8,
754 pub bDescriptorType: __u8,
755 pub bDevCapabilityType: __u8,
756 pub bReserved: __u8,
757 pub bmAttributes: __le32,
758 pub wFunctionalitySupport: __le16,
759 pub wReserved: __le16,
760 pub __bindgen_anon_1: usb_ssp_cap_descriptor__bindgen_ty_1,
761}
762#[repr(C)]
763pub struct usb_ssp_cap_descriptor__bindgen_ty_1 {
764 pub legacy_padding: __BindgenUnionField<__le32>,
765 pub __bindgen_anon_1: __BindgenUnionField<usb_ssp_cap_descriptor__bindgen_ty_1__bindgen_ty_1>,
766 pub bindgen_union_field: u32,
767}
768#[repr(C)]
769#[derive(Debug)]
770pub struct usb_ssp_cap_descriptor__bindgen_ty_1__bindgen_ty_1 {
771 pub __empty_bmSublinkSpeedAttr:
772 usb_ssp_cap_descriptor__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
773 pub bmSublinkSpeedAttr: __IncompleteArrayField<__le32>,
774}
775#[repr(C)]
776#[derive(Debug, Copy, Clone)]
777pub struct usb_ssp_cap_descriptor__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {}
778#[repr(C, packed)]
779#[derive(Debug, Copy, Clone)]
780pub struct usb_pd_cap_descriptor {
781 pub bLength: __u8,
782 pub bDescriptorType: __u8,
783 pub bDevCapabilityType: __u8,
784 pub bReserved: __u8,
785 pub bmAttributes: __le32,
786 pub bmProviderPorts: __le16,
787 pub bmConsumerPorts: __le16,
788 pub bcdBCVersion: __le16,
789 pub bcdPDVersion: __le16,
790 pub bcdUSBTypeCVersion: __le16,
791}
792#[repr(C, packed)]
793#[derive(Debug, Copy, Clone)]
794pub struct usb_pd_cap_battery_info_descriptor {
795 pub bLength: __u8,
796 pub bDescriptorType: __u8,
797 pub bDevCapabilityType: __u8,
798 pub iBattery: __u8,
799 pub iSerial: __u8,
800 pub iManufacturer: __u8,
801 pub bBatteryId: __u8,
802 pub bReserved: __u8,
803 pub dwChargedThreshold: __le32,
804 pub dwWeakThreshold: __le32,
805 pub dwBatteryDesignCapacity: __le32,
806 pub dwBatteryLastFullchargeCapacity: __le32,
807}
808#[repr(C, packed)]
809#[derive(Debug, Copy, Clone)]
810pub struct usb_pd_cap_consumer_port_descriptor {
811 pub bLength: __u8,
812 pub bDescriptorType: __u8,
813 pub bDevCapabilityType: __u8,
814 pub bReserved: __u8,
815 pub bmCapabilities: __u8,
816 pub wMinVoltage: __le16,
817 pub wMaxVoltage: __le16,
818 pub wReserved: __u16,
819 pub dwMaxOperatingPower: __le32,
820 pub dwMaxPeakPower: __le32,
821 pub dwMaxPeakPowerTime: __le32,
822}
823#[repr(C, packed)]
824pub struct usb_pd_cap_provider_port_descriptor {
825 pub bLength: __u8,
826 pub bDescriptorType: __u8,
827 pub bDevCapabilityType: __u8,
828 pub bReserved1: __u8,
829 pub bmCapabilities: __u8,
830 pub bNumOfPDObjects: __u8,
831 pub bReserved2: __u8,
832 pub wPowerDataObject: __IncompleteArrayField<__le32>,
833}
834#[repr(C, packed)]
835#[derive(Debug, Copy, Clone)]
836pub struct usb_ptm_cap_descriptor {
837 pub bLength: __u8,
838 pub bDescriptorType: __u8,
839 pub bDevCapabilityType: __u8,
840}
841#[repr(C, packed)]
842#[derive(Debug, Copy, Clone)]
843pub struct usb_wireless_ep_comp_descriptor {
844 pub bLength: __u8,
845 pub bDescriptorType: __u8,
846 pub bMaxBurst: __u8,
847 pub bMaxSequence: __u8,
848 pub wMaxStreamDelay: __le16,
849 pub wOverTheAirPacketSize: __le16,
850 pub bOverTheAirInterval: __u8,
851 pub bmCompAttributes: __u8,
852}
853#[repr(C, packed)]
854#[derive(Debug, Copy, Clone)]
855pub struct usb_handshake {
856 pub bMessageNumber: __u8,
857 pub bStatus: __u8,
858 pub tTKID: [__u8; 3usize],
859 pub bReserved: __u8,
860 pub CDID: [__u8; 16usize],
861 pub nonce: [__u8; 16usize],
862 pub MIC: [__u8; 8usize],
863}
864#[repr(C, packed)]
865#[derive(Debug, Copy, Clone)]
866pub struct usb_connection_context {
867 pub CHID: [__u8; 16usize],
868 pub CDID: [__u8; 16usize],
869 pub CK: [__u8; 16usize],
870}
871pub const usb_device_speed_USB_SPEED_UNKNOWN: usb_device_speed = 0;
872pub const usb_device_speed_USB_SPEED_LOW: usb_device_speed = 1;
873pub const usb_device_speed_USB_SPEED_FULL: usb_device_speed = 2;
874pub const usb_device_speed_USB_SPEED_HIGH: usb_device_speed = 3;
875pub const usb_device_speed_USB_SPEED_WIRELESS: usb_device_speed = 4;
876pub const usb_device_speed_USB_SPEED_SUPER: usb_device_speed = 5;
877pub const usb_device_speed_USB_SPEED_SUPER_PLUS: usb_device_speed = 6;
878pub type usb_device_speed = ::core::ffi::c_uint;
879pub const usb_device_state_USB_STATE_NOTATTACHED: usb_device_state = 0;
880pub const usb_device_state_USB_STATE_ATTACHED: usb_device_state = 1;
881pub const usb_device_state_USB_STATE_POWERED: usb_device_state = 2;
882pub const usb_device_state_USB_STATE_RECONNECTING: usb_device_state = 3;
883pub const usb_device_state_USB_STATE_UNAUTHENTICATED: usb_device_state = 4;
884pub const usb_device_state_USB_STATE_DEFAULT: usb_device_state = 5;
885pub const usb_device_state_USB_STATE_ADDRESS: usb_device_state = 6;
886pub const usb_device_state_USB_STATE_CONFIGURED: usb_device_state = 7;
887pub const usb_device_state_USB_STATE_SUSPENDED: usb_device_state = 8;
888pub type usb_device_state = ::core::ffi::c_uint;
889pub const usb3_link_state_USB3_LPM_U0: usb3_link_state = 0;
890pub const usb3_link_state_USB3_LPM_U1: usb3_link_state = 1;
891pub const usb3_link_state_USB3_LPM_U2: usb3_link_state = 2;
892pub const usb3_link_state_USB3_LPM_U3: usb3_link_state = 3;
893pub type usb3_link_state = ::core::ffi::c_uint;
894#[repr(C, packed)]
895#[derive(Debug, Copy, Clone)]
896pub struct usb_set_sel_req {
897 pub u1_sel: __u8,
898 pub u1_pel: __u8,
899 pub u2_sel: __le16,
900 pub u2_pel: __le16,
901}