linux_rust_bindings/usb/
usb_arm64.rs

1/* automatically generated by rust-bindgen 0.69.1 */
2
3#[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}