objc2_io_usb_host/generated/
IOUSBHostControllerInterfaceDefinitions.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use objc2::__framework_prelude::*;
5#[cfg(feature = "objc2-io-kit")]
6use objc2_io_kit::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciuserclientversion?language=objc)
11#[repr(transparent)]
12#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
13pub struct IOUSBHostCIUserClientVersion(pub c_uint);
14impl IOUSBHostCIUserClientVersion {
15    #[doc(alias = "IOUSBHostCIUserClientVersion100")]
16    pub const Version100: Self = Self(0);
17}
18
19unsafe impl Encode for IOUSBHostCIUserClientVersion {
20    const ENCODING: Encoding = c_uint::ENCODING;
21}
22
23unsafe impl RefEncode for IOUSBHostCIUserClientVersion {
24    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
25}
26
27/// Exception specifier included as message argument to
28/// <code>
29/// kUSBHostMessageControllerException
30/// </code>
31///
32/// The kernel driver sends a
33/// <code>
34/// kUSBHostMessageControllerException
35/// </code>
36/// message to its clients when a fatal problem has occurred, with a refCon of the IOUSBHostController instance and a
37/// <code>
38/// IOUSBHostCIExceptionType
39/// </code>
40/// in the message arguments.
41/// When any
42/// <code>
43/// kUSBHostMessageControllerException
44/// </code>
45/// message is received, the specified IOUSBHostControllerInterface must be destroyed.
46///
47/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciexceptiontype?language=objc)
48#[repr(transparent)]
49#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
50pub struct IOUSBHostCIExceptionType(pub c_uint);
51impl IOUSBHostCIExceptionType {
52    #[doc(alias = "IOUSBHostCIExceptionTypeUnknown")]
53    pub const Unknown: Self = Self(0);
54    #[doc(alias = "IOUSBHostCIExceptionTypeCapabilitiesInvalid")]
55    pub const CapabilitiesInvalid: Self = Self(1);
56    #[doc(alias = "IOUSBHostCIExceptionTypeTerminated")]
57    pub const Terminated: Self = Self(2);
58    #[doc(alias = "IOUSBHostCIExceptionTypeCommandReadCollision")]
59    pub const CommandReadCollision: Self = Self(3);
60    #[doc(alias = "IOUSBHostCIExceptionTypeCommandWriteFailed")]
61    pub const CommandWriteFailed: Self = Self(4);
62    #[doc(alias = "IOUSBHostCIExceptionTypeCommandTimeout")]
63    pub const CommandTimeout: Self = Self(5);
64    #[doc(alias = "IOUSBHostCIExceptionTypeCommandFailure")]
65    pub const CommandFailure: Self = Self(6);
66    #[doc(alias = "IOUSBHostCIExceptionTypeInterruptInvalid")]
67    pub const InterruptInvalid: Self = Self(7);
68    #[doc(alias = "IOUSBHostCIExceptionTypeInterruptOverflow")]
69    pub const InterruptOverflow: Self = Self(8);
70    #[doc(alias = "IOUSBHostCIExceptionTypeDoorbellReadCollision")]
71    pub const DoorbellReadCollision: Self = Self(9);
72    #[doc(alias = "IOUSBHostCIExceptionTypeDoorbellOverflow")]
73    pub const DoorbellOverflow: Self = Self(10);
74    #[doc(alias = "IOUSBHostCIExceptionTypeProtocolError")]
75    pub const ProtocolError: Self = Self(11);
76    #[doc(alias = "IOUSBHostCIExceptionTypeFrameUpdateError")]
77    pub const FrameUpdateError: Self = Self(12);
78}
79
80unsafe impl Encode for IOUSBHostCIExceptionType {
81    const ENCODING: Encoding = c_uint::ENCODING;
82}
83
84unsafe impl RefEncode for IOUSBHostCIExceptionType {
85    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
86}
87
88/// Values to be populated in IOUSBHostCIMessageControlType of an IOUSBHostCIMessage structure
89///
90/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagetype?language=objc)
91#[repr(transparent)]
92#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
93pub struct IOUSBHostCIMessageType(pub c_uint);
94impl IOUSBHostCIMessageType {
95    #[doc(alias = "IOUSBHostCIMessageTypeControllerCapabilities")]
96    pub const ControllerCapabilities: Self = Self(0x0);
97    #[doc(alias = "IOUSBHostCIMessageTypePortCapabilities")]
98    pub const PortCapabilities: Self = Self(1);
99    #[doc(alias = "IOUSBHostCIMessageTypePortEvent")]
100    pub const PortEvent: Self = Self(0x8);
101    #[doc(alias = "IOUSBHostCIMessageTypeFrameNumberUpdate")]
102    pub const FrameNumberUpdate: Self = Self(9);
103    #[doc(alias = "IOUSBHostCIMessageTypeFrameTimestampUpdate")]
104    pub const FrameTimestampUpdate: Self = Self(10);
105    #[doc(alias = "IOUSBHostCIMessageTypeCommandMin")]
106    pub const CommandMin: Self = Self(0x10);
107    #[doc(alias = "IOUSBHostCIMessageTypeControllerPowerOn")]
108    pub const ControllerPowerOn: Self = Self(0x10);
109    #[doc(alias = "IOUSBHostCIMessageTypeControllerPowerOff")]
110    pub const ControllerPowerOff: Self = Self(17);
111    #[doc(alias = "IOUSBHostCIMessageTypeControllerStart")]
112    pub const ControllerStart: Self = Self(18);
113    #[doc(alias = "IOUSBHostCIMessageTypeControllerPause")]
114    pub const ControllerPause: Self = Self(19);
115    #[doc(alias = "IOUSBHostCIMessageTypeControllerFrameNumber")]
116    pub const ControllerFrameNumber: Self = Self(20);
117    #[doc(alias = "IOUSBHostCIMessageTypePortPowerOn")]
118    pub const PortPowerOn: Self = Self(0x18);
119    #[doc(alias = "IOUSBHostCIMessageTypePortPowerOff")]
120    pub const PortPowerOff: Self = Self(25);
121    #[doc(alias = "IOUSBHostCIMessageTypePortResume")]
122    pub const PortResume: Self = Self(26);
123    #[doc(alias = "IOUSBHostCIMessageTypePortSuspend")]
124    pub const PortSuspend: Self = Self(27);
125    #[doc(alias = "IOUSBHostCIMessageTypePortReset")]
126    pub const PortReset: Self = Self(28);
127    #[doc(alias = "IOUSBHostCIMessageTypePortDisable")]
128    pub const PortDisable: Self = Self(29);
129    #[doc(alias = "IOUSBHostCIMessageTypePortStatus")]
130    pub const PortStatus: Self = Self(30);
131    #[doc(alias = "IOUSBHostCIMessageTypeDeviceCreate")]
132    pub const DeviceCreate: Self = Self(0x20);
133    #[doc(alias = "IOUSBHostCIMessageTypeDeviceDestroy")]
134    pub const DeviceDestroy: Self = Self(33);
135    #[doc(alias = "IOUSBHostCIMessageTypeDeviceStart")]
136    pub const DeviceStart: Self = Self(34);
137    #[doc(alias = "IOUSBHostCIMessageTypeDevicePause")]
138    pub const DevicePause: Self = Self(35);
139    #[doc(alias = "IOUSBHostCIMessageTypeDeviceUpdate")]
140    pub const DeviceUpdate: Self = Self(36);
141    #[doc(alias = "IOUSBHostCIMessageTypeEndpointCreate")]
142    pub const EndpointCreate: Self = Self(0x28);
143    #[doc(alias = "IOUSBHostCIMessageTypeEndpointDestroy")]
144    pub const EndpointDestroy: Self = Self(41);
145    #[doc(alias = "IOUSBHostCIMessageTypeEndpoint_reserved_")]
146    pub const Endpoint_reserved_: Self = Self(42);
147    #[doc(alias = "IOUSBHostCIMessageTypeEndpointPause")]
148    pub const EndpointPause: Self = Self(43);
149    #[doc(alias = "IOUSBHostCIMessageTypeEndpointUpdate")]
150    pub const EndpointUpdate: Self = Self(44);
151    #[doc(alias = "IOUSBHostCIMessageTypeEndpointReset")]
152    pub const EndpointReset: Self = Self(45);
153    #[doc(alias = "IOUSBHostCIMessageTypeEndpointSetNextTransfer")]
154    pub const EndpointSetNextTransfer: Self = Self(46);
155    #[doc(alias = "IOUSBHostCIMessageTypeCommandMax")]
156    pub const CommandMax: Self = Self(0x37);
157    #[doc(alias = "IOUSBHostCIMessageTypeSetupTransfer")]
158    pub const SetupTransfer: Self = Self(0x38);
159    #[doc(alias = "IOUSBHostCIMessageTypeNormalTransfer")]
160    pub const NormalTransfer: Self = Self(57);
161    #[doc(alias = "IOUSBHostCIMessageTypeStatusTransfer")]
162    pub const StatusTransfer: Self = Self(58);
163    #[doc(alias = "IOUSBHostCIMessageTypeIsochronousTransfer")]
164    pub const IsochronousTransfer: Self = Self(59);
165    #[doc(alias = "IOUSBHostCIMessageTypeLink")]
166    pub const Link: Self = Self(60);
167    #[doc(alias = "IOUSBHostCIMessageTypeTransferComplete")]
168    pub const TransferComplete: Self = Self(61);
169}
170
171unsafe impl Encode for IOUSBHostCIMessageType {
172    const ENCODING: Encoding = c_uint::ENCODING;
173}
174
175unsafe impl RefEncode for IOUSBHostCIMessageType {
176    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
177}
178
179/// Values to be populated in IOUSBHostCIMessageControlStatus of an IOUSBHostCIMessage structure
180///
181/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagestatus?language=objc)
182#[repr(transparent)]
183#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
184pub struct IOUSBHostCIMessageStatus(pub c_uint);
185impl IOUSBHostCIMessageStatus {
186    #[doc(alias = "IOUSBHostCIMessageStatusReserved")]
187    pub const Reserved: Self = Self(0);
188    #[doc(alias = "IOUSBHostCIMessageStatusSuccess")]
189    pub const Success: Self = Self(1);
190    #[doc(alias = "IOUSBHostCIMessageStatusOffline")]
191    pub const Offline: Self = Self(2);
192    #[doc(alias = "IOUSBHostCIMessageStatusNotPermitted")]
193    pub const NotPermitted: Self = Self(3);
194    #[doc(alias = "IOUSBHostCIMessageStatusBadArgument")]
195    pub const BadArgument: Self = Self(4);
196    #[doc(alias = "IOUSBHostCIMessageStatusTimeout")]
197    pub const Timeout: Self = Self(5);
198    #[doc(alias = "IOUSBHostCIMessageStatusNoResources")]
199    pub const NoResources: Self = Self(6);
200    #[doc(alias = "IOUSBHostCIMessageStatusEndpointStopped")]
201    pub const EndpointStopped: Self = Self(7);
202    #[doc(alias = "IOUSBHostCIMessageStatusProtocolError")]
203    pub const ProtocolError: Self = Self(8);
204    #[doc(alias = "IOUSBHostCIMessageStatusTransactionError")]
205    pub const TransactionError: Self = Self(9);
206    #[doc(alias = "IOUSBHostCIMessageStatusOverrunError")]
207    pub const OverrunError: Self = Self(10);
208    #[doc(alias = "IOUSBHostCIMessageStatusStallError")]
209    pub const StallError: Self = Self(11);
210    #[doc(alias = "IOUSBHostCIMessageStatusMissedServiceError")]
211    pub const MissedServiceError: Self = Self(12);
212    #[doc(alias = "IOUSBHostCIMessageStatusError")]
213    pub const Error: Self = Self(13);
214}
215
216unsafe impl Encode for IOUSBHostCIMessageStatus {
217    const ENCODING: Encoding = c_uint::ENCODING;
218}
219
220unsafe impl RefEncode for IOUSBHostCIMessageStatus {
221    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
222}
223
224/// Values to represent a connected device speed, to be used in IOUSBHostCIMessages and IOUSBHostsCIPortStatus
225///
226/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicespeed?language=objc)
227#[repr(transparent)]
228#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
229pub struct IOUSBHostCIDeviceSpeed(pub c_uint);
230impl IOUSBHostCIDeviceSpeed {
231    #[doc(alias = "IOUSBHostCIDeviceSpeedNone")]
232    #[cfg(feature = "objc2-io-kit")]
233    pub const None: Self = Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedNone.0);
234    #[doc(alias = "IOUSBHostCIDeviceSpeedFull")]
235    #[cfg(feature = "objc2-io-kit")]
236    pub const Full: Self = Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedFull.0);
237    #[doc(alias = "IOUSBHostCIDeviceSpeedLow")]
238    #[cfg(feature = "objc2-io-kit")]
239    pub const Low: Self = Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedLow.0);
240    #[doc(alias = "IOUSBHostCIDeviceSpeedHigh")]
241    #[cfg(feature = "objc2-io-kit")]
242    pub const High: Self = Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedHigh.0);
243    #[doc(alias = "IOUSBHostCIDeviceSpeedSuper")]
244    #[cfg(feature = "objc2-io-kit")]
245    pub const Super: Self = Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedSuper.0);
246    #[doc(alias = "IOUSBHostCIDeviceSpeedSuperPlus")]
247    #[cfg(feature = "objc2-io-kit")]
248    pub const SuperPlus: Self =
249        Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedSuperPlus.0);
250    #[doc(alias = "IOUSBHostCIDeviceSpeedSuperPlusBy2")]
251    #[cfg(feature = "objc2-io-kit")]
252    pub const SuperPlusBy2: Self =
253        Self(tIOUSBHostConnectionSpeed::IOUSBHostConnectionSpeedSuperPlusBy2.0);
254}
255
256unsafe impl Encode for IOUSBHostCIDeviceSpeed {
257    const ENCODING: Encoding = c_uint::ENCODING;
258}
259
260unsafe impl RefEncode for IOUSBHostCIDeviceSpeed {
261    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
262}
263
264/// Values to represent a port's link state, to be used in IOUSBHostCIMessages and IOUSBHostCIPortStatus
265///
266/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcilinkstate?language=objc)
267#[repr(transparent)]
268#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
269pub struct IOUSBHostCILinkState(pub c_uint);
270impl IOUSBHostCILinkState {
271    #[doc(alias = "IOUSBHostCILinkStateU0")]
272    pub const U0: Self = Self(0);
273    #[doc(alias = "IOUSBHostCILinkStateU1")]
274    pub const U1: Self = Self(1);
275    #[doc(alias = "IOUSBHostCILinkStateU2")]
276    pub const U2: Self = Self(2);
277    #[doc(alias = "IOUSBHostCILinkStateU3")]
278    pub const U3: Self = Self(3);
279    #[doc(alias = "IOUSBHostCILinkStateDisabled")]
280    pub const Disabled: Self = Self(4);
281    #[doc(alias = "IOUSBHostCILinkStateRxDetect")]
282    pub const RxDetect: Self = Self(5);
283    #[doc(alias = "IOUSBHostCILinkStateInactive")]
284    pub const Inactive: Self = Self(6);
285    #[doc(alias = "IOUSBHostCILinkStatePolling")]
286    pub const Polling: Self = Self(7);
287    #[doc(alias = "IOUSBHostCILinkStateRecovery")]
288    pub const Recovery: Self = Self(8);
289    #[doc(alias = "IOUSBHostCILinkStateReset")]
290    pub const Reset: Self = Self(9);
291    #[doc(alias = "IOUSBHostCILinkStateCompliance")]
292    pub const Compliance: Self = Self(10);
293    #[doc(alias = "IOUSBHostCILinkStateTest")]
294    pub const Test: Self = Self(11);
295    #[doc(alias = "IOUSBHostCILinkStateResume")]
296    pub const Resume: Self = Self(15);
297}
298
299unsafe impl Encode for IOUSBHostCILinkState {
300    const ENCODING: Encoding = c_uint::ENCODING;
301}
302
303unsafe impl RefEncode for IOUSBHostCILinkState {
304    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
305}
306
307/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatus?language=objc)
308pub type IOUSBHostCIPortStatus = u32;
309
310/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuspowered?language=objc)
311#[cfg(feature = "objc2-io-kit")]
312pub const IOUSBHostCIPortStatusPowered: c_uint = IOUSBBit!(0);
313/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusovercurrent?language=objc)
314#[cfg(feature = "objc2-io-kit")]
315pub const IOUSBHostCIPortStatusOvercurrent: c_uint = IOUSBBit!(1);
316/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusconnected?language=objc)
317#[cfg(feature = "objc2-io-kit")]
318pub const IOUSBHostCIPortStatusConnected: c_uint = IOUSBBit!(2);
319/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuslinkstate?language=objc)
320#[cfg(feature = "objc2-io-kit")]
321pub const IOUSBHostCIPortStatusLinkState: c_uint = IOUSBBitRange64!(4, 7);
322/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuslinkstatephase?language=objc)
323#[cfg(feature = "objc2-io-kit")]
324pub const IOUSBHostCIPortStatusLinkStatePhase: c_uint = IOUSBBitRangePhase!(4, 7);
325/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusspeed?language=objc)
326#[cfg(feature = "objc2-io-kit")]
327pub const IOUSBHostCIPortStatusSpeed: c_uint = IOUSBBitRange64!(8, 10);
328/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusspeedphase?language=objc)
329#[cfg(feature = "objc2-io-kit")]
330pub const IOUSBHostCIPortStatusSpeedPhase: c_uint = IOUSBBitRangePhase!(8, 10);
331/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusovercurrentchange?language=objc)
332#[cfg(feature = "objc2-io-kit")]
333pub const IOUSBHostCIPortStatusOvercurrentChange: c_uint = IOUSBBit!(17);
334/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatusconnectchange?language=objc)
335#[cfg(feature = "objc2-io-kit")]
336pub const IOUSBHostCIPortStatusConnectChange: c_uint = IOUSBBit!(18);
337/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuslinkstatechange?language=objc)
338#[cfg(feature = "objc2-io-kit")]
339pub const IOUSBHostCIPortStatusLinkStateChange: c_uint = IOUSBBit!(20);
340/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuschangemask?language=objc)
341pub const IOUSBHostCIPortStatusChangeMask: c_uint = IOUSBHostCIPortStatusLinkStateChange
342    | IOUSBHostCIPortStatusConnectChange
343    | IOUSBHostCIPortStatusOvercurrentChange;
344
345/// Structured message used to notify the client that the specified endpoint or stream has updated IOUSBHostCIMessage messages to process
346///
347/// The kernel driver uses IOUSBHostCIDoorbell messages to transition an endpoint to the IOUSBHostCIEndpointStateActive state (if eligible), or to notify the client that additional valid IOUSBHostCIMessage structures have been appended to an already active queue.
348/// When received, the client should perform the following actions:
349/// 1. Locate the iOUSBHostCIEndpointStateMachine associated with the endpoint selector in IOUSBHostCIDoorbellDeviceAddress and IOUSBHostCIDoorbellEndpointAddress of the command
350/// 2. Utilize the IOUSBHostCIEndpointStateMachine processDoorbell interface to determine if the doorbell can be processed
351/// 3. If successful and the endpoint is not already processing transfer messages, use the IOUSBHostCIEndpointStateMachine's currentTransferMessage property to begin processing transfer messages
352///
353/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbell?language=objc)
354pub type IOUSBHostCIDoorbell = u32;
355
356/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbelldeviceaddress?language=objc)
357#[cfg(feature = "objc2-io-kit")]
358pub const IOUSBHostCIDoorbellDeviceAddress: c_uint = IOUSBBitRange!(0, 7);
359/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbelldeviceaddressphase?language=objc)
360#[cfg(feature = "objc2-io-kit")]
361pub const IOUSBHostCIDoorbellDeviceAddressPhase: c_uint = IOUSBBitRangePhase!(0, 7);
362/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbellendpointaddress?language=objc)
363#[cfg(feature = "objc2-io-kit")]
364pub const IOUSBHostCIDoorbellEndpointAddress: c_uint = IOUSBBitRange!(8, 15);
365/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbellendpointaddressphase?language=objc)
366#[cfg(feature = "objc2-io-kit")]
367pub const IOUSBHostCIDoorbellEndpointAddressPhase: c_uint = IOUSBBitRangePhase!(8, 15);
368/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbellstreamid?language=objc)
369#[cfg(feature = "objc2-io-kit")]
370pub const IOUSBHostCIDoorbellStreamID: c_uint = IOUSBBitRange!(16, 31);
371/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidoorbellstreamidphase?language=objc)
372#[cfg(feature = "objc2-io-kit")]
373pub const IOUSBHostCIDoorbellStreamIDPhase: c_uint = IOUSBBitRangePhase!(16, 31);
374
375/// Foundational IOUSBHostControllerInterface message structure used for commands, transfers, and interrupts
376///
377/// IOUSBHostCIMessage structures are control structures passed between the IOUSBHostControllerInterface client and the kernel driver.  They are used to represent capabilities during initialization, commands and transfers sent from the kernel, and interrupt events sent to the kernel.
378///
379/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessage?language=objc)
380#[repr(C, packed)]
381#[derive(Clone, Copy, Debug, PartialEq)]
382pub struct IOUSBHostCIMessage {
383    pub control: u32,
384    pub data0: u32,
385    pub data1: u64,
386}
387
388unsafe impl Encode for IOUSBHostCIMessage {
389    const ENCODING: Encoding = Encoding::Struct(
390        "IOUSBHostCIMessage",
391        &[<u32>::ENCODING, <u32>::ENCODING, <u64>::ENCODING],
392    );
393}
394
395unsafe impl RefEncode for IOUSBHostCIMessage {
396    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
397}
398
399/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontroltype?language=objc)
400#[cfg(feature = "objc2-io-kit")]
401pub const IOUSBHostCIMessageControlType: c_uint = IOUSBBitRange!(0, 5);
402/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontroltypephase?language=objc)
403#[cfg(feature = "objc2-io-kit")]
404pub const IOUSBHostCIMessageControlTypePhase: c_uint = IOUSBBitRangePhase!(0, 5);
405/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontrolstatus?language=objc)
406#[cfg(feature = "objc2-io-kit")]
407pub const IOUSBHostCIMessageControlStatus: c_uint = IOUSBBitRange!(8, 11);
408/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontrolstatusphase?language=objc)
409#[cfg(feature = "objc2-io-kit")]
410pub const IOUSBHostCIMessageControlStatusPhase: c_uint = IOUSBBitRangePhase!(8, 11);
411/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontrolnoresponse?language=objc)
412#[cfg(feature = "objc2-io-kit")]
413pub const IOUSBHostCIMessageControlNoResponse: c_uint = IOUSBBit!(14);
414/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcimessagecontrolvalid?language=objc)
415#[cfg(feature = "objc2-io-kit")]
416pub const IOUSBHostCIMessageControlValid: c_uint = IOUSBBit!(15);
417
418/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagecontrolportcount?language=objc)
419#[cfg(feature = "objc2-io-kit")]
420pub const IOUSBHostCICapabilitiesMessageControlPortCount: c_uint = IOUSBBitRange!(16, 19);
421/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagecontrolportcountphase?language=objc)
422#[cfg(feature = "objc2-io-kit")]
423pub const IOUSBHostCICapabilitiesMessageControlPortCountPhase: c_uint = IOUSBBitRangePhase!(16, 19);
424/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagedata0commandtimeoutthreshold?language=objc)
425#[cfg(feature = "objc2-io-kit")]
426pub const IOUSBHostCICapabilitiesMessageData0CommandTimeoutThreshold: c_uint = IOUSBBitRange!(0, 1);
427/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagedata0commandtimeoutthresholdphase?language=objc)
428#[cfg(feature = "objc2-io-kit")]
429pub const IOUSBHostCICapabilitiesMessageData0CommandTimeoutThresholdPhase: c_uint =
430    IOUSBBitRangePhase!(0, 1);
431/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagedata0connectionlatency?language=objc)
432#[cfg(feature = "objc2-io-kit")]
433pub const IOUSBHostCICapabilitiesMessageData0ConnectionLatency: c_uint = IOUSBBitRange!(4, 7);
434/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicapabilitiesmessagedata0connectionlatencyphase?language=objc)
435#[cfg(feature = "objc2-io-kit")]
436pub const IOUSBHostCICapabilitiesMessageData0ConnectionLatencyPhase: c_uint =
437    IOUSBBitRangePhase!(4, 7);
438
439/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagecontrolportnumber?language=objc)
440#[cfg(feature = "objc2-io-kit")]
441pub const IOUSBHostCIPortCapabilitiesMessageControlPortNumber: c_uint = IOUSBBitRange!(16, 19);
442/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagecontrolportnumberphase?language=objc)
443#[cfg(feature = "objc2-io-kit")]
444pub const IOUSBHostCIPortCapabilitiesMessageControlPortNumberPhase: c_uint =
445    IOUSBBitRangePhase!(16, 19);
446/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagecontrolinternalconnector?language=objc)
447#[cfg(feature = "objc2-io-kit")]
448pub const IOUSBHostCIPortCapabilitiesMessageControlInternalConnector: c_uint = IOUSBBit!(23);
449/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagecontrolconnectortype?language=objc)
450#[cfg(feature = "objc2-io-kit")]
451pub const IOUSBHostCIPortCapabilitiesMessageControlConnectorType: c_uint = IOUSBBitRange!(24, 31);
452/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagecontrolconnectortypephase?language=objc)
453#[cfg(feature = "objc2-io-kit")]
454pub const IOUSBHostCIPortCapabilitiesMessageControlConnectorTypePhase: c_uint =
455    IOUSBBitRangePhase!(24, 31);
456/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagedata0maxpower?language=objc)
457#[cfg(feature = "objc2-io-kit")]
458pub const IOUSBHostCIPortCapabilitiesMessageData0MaxPower: c_uint = IOUSBBitRange!(0, 7);
459/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportcapabilitiesmessagedata0maxpowerphase?language=objc)
460#[cfg(feature = "objc2-io-kit")]
461pub const IOUSBHostCIPortCapabilitiesMessageData0MaxPowerPhase: c_uint = IOUSBBitRangePhase!(0, 7);
462
463/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagecontrolstatus?language=objc)
464pub const IOUSBHostCICommandMessageControlStatus: c_uint = IOUSBHostCIMessageControlStatus;
465/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagecontrolstatusphase?language=objc)
466pub const IOUSBHostCICommandMessageControlStatusPhase: c_uint =
467    IOUSBHostCIMessageControlStatusPhase;
468/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0rootport?language=objc)
469#[cfg(feature = "objc2-io-kit")]
470pub const IOUSBHostCICommandMessageData0RootPort: c_uint = IOUSBBitRange!(0, 3);
471/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0rootportphase?language=objc)
472#[cfg(feature = "objc2-io-kit")]
473pub const IOUSBHostCICommandMessageData0RootPortPhase: c_uint = IOUSBBitRangePhase!(0, 3);
474/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0deviceaddress?language=objc)
475#[cfg(feature = "objc2-io-kit")]
476pub const IOUSBHostCICommandMessageData0DeviceAddress: c_uint = IOUSBBitRange!(0, 7);
477/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0deviceaddressphase?language=objc)
478#[cfg(feature = "objc2-io-kit")]
479pub const IOUSBHostCICommandMessageData0DeviceAddressPhase: c_uint = IOUSBBitRangePhase!(0, 7);
480/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0endpointaddress?language=objc)
481#[cfg(feature = "objc2-io-kit")]
482pub const IOUSBHostCICommandMessageData0EndpointAddress: c_uint = IOUSBBitRange!(8, 15);
483/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0endpointaddressphase?language=objc)
484#[cfg(feature = "objc2-io-kit")]
485pub const IOUSBHostCICommandMessageData0EndpointAddressPhase: c_uint = IOUSBBitRangePhase!(8, 15);
486/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0streamid?language=objc)
487#[cfg(feature = "objc2-io-kit")]
488pub const IOUSBHostCICommandMessageData0StreamID: c_uint = IOUSBBitRange!(16, 31);
489/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicommandmessagedata0streamidphase?language=objc)
490#[cfg(feature = "objc2-io-kit")]
491pub const IOUSBHostCICommandMessageData0StreamIDPhase: c_uint = IOUSBBitRangePhase!(16, 31);
492
493/// Host controller state managed by IOUSBHostCIControllerStateMachine
494///
495/// IOUSBHostCIControllerStateOff is the initial state of a newly created IOUSBHostCIControllerStateMachine instance, and represents a completely quiesced controller.  All root ports must be in the IOUSBHostCIPortStateOff state.
496/// IOUSBHostCIControllerStatePaused represents a controller that is idle.  In this state the controller is not processing IO requests, but can detect port changes such as connect events or remote wakes.  Root ports must not be in the IOUSBHostCIPortStateActive state.
497/// IOUSBHostCIControllerStateActive represents a controller that is fully functional and able to service IO requests.  Root ports may be in the IOUSBHostCIPortStateActive state.
498///
499/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcicontrollerstate?language=objc)
500#[repr(transparent)]
501#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
502pub struct IOUSBHostCIControllerState(pub c_uint);
503impl IOUSBHostCIControllerState {
504    #[doc(alias = "IOUSBHostCIControllerStateOff")]
505    pub const Off: Self = Self(0);
506    #[doc(alias = "IOUSBHostCIControllerStatePaused")]
507    pub const Paused: Self = Self(1);
508    #[doc(alias = "IOUSBHostCIControllerStateActive")]
509    pub const Active: Self = Self(2);
510}
511
512unsafe impl Encode for IOUSBHostCIControllerState {
513    const ENCODING: Encoding = c_uint::ENCODING;
514}
515
516unsafe impl RefEncode for IOUSBHostCIControllerState {
517    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
518}
519
520/// Port state managed by IOUSBHostCIPortStateMachine
521///
522/// IOUSBHostCIPortStateOff is the initial state of a newly created IOUSBHostCIPortStateMachine and represents an unpowered port which is unable to detect events such as connections.  Downstream devices, if any, must be in the IOUSBHostCIDeviceStateDestroyed state.
523/// IOUSBHostCIPortStatePowered represents a powered port which is able to detect events such as connections.  Downstream devices, if any, must be in the IOUSBHostCIDeviceStateDestroyed state.
524/// IOUSBHostCIPortStateSuspended represents a port with a downstream device that is in a low-power state such as U3 or L2.  The port is able to detect events such as remote wakes, and is not actively transmitting data.  Downstream devices must be in the IOUSBHostCIDeviceStatePaused state.
525/// IOUSBHostCIPortStateActive represents a port with a downstream device that is able to immediately transfer data.  The downstream device may be in the IOUSBHostCIDeviceStateActive state.
526///
527/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstate?language=objc)
528#[repr(transparent)]
529#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
530pub struct IOUSBHostCIPortState(pub c_uint);
531impl IOUSBHostCIPortState {
532    #[doc(alias = "IOUSBHostCIPortStateOff")]
533    pub const Off: Self = Self(0);
534    #[doc(alias = "IOUSBHostCIPortStatePowered")]
535    pub const Powered: Self = Self(1);
536    #[doc(alias = "IOUSBHostCIPortStateSuspended")]
537    pub const Suspended: Self = Self(2);
538    #[doc(alias = "IOUSBHostCIPortStateActive")]
539    pub const Active: Self = Self(3);
540}
541
542unsafe impl Encode for IOUSBHostCIPortState {
543    const ENCODING: Encoding = c_uint::ENCODING;
544}
545
546unsafe impl RefEncode for IOUSBHostCIPortState {
547    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
548}
549
550/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciporteventmessagedata0portnumber?language=objc)
551#[cfg(feature = "objc2-io-kit")]
552pub const IOUSBHostCIPortEventMessageData0PortNumber: c_uint = IOUSBBitRange!(0, 3);
553/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciporteventmessagedata0portnumberphase?language=objc)
554#[cfg(feature = "objc2-io-kit")]
555pub const IOUSBHostCIPortEventMessageData0PortNumberPhase: c_uint = IOUSBBitRangePhase!(0, 3);
556
557/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1powered?language=objc)
558pub const IOUSBHostCIPortStatusCommandData1Powered: c_uint = IOUSBHostCIPortStatusPowered;
559/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1overcurrent?language=objc)
560pub const IOUSBHostCIPortStatusCommandData1Overcurrent: c_uint = IOUSBHostCIPortStatusOvercurrent;
561/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1connected?language=objc)
562pub const IOUSBHostCIPortStatusCommandData1Connected: c_uint = IOUSBHostCIPortStatusConnected;
563/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1linkstate?language=objc)
564pub const IOUSBHostCIPortStatusCommandData1LinkState: c_uint = IOUSBHostCIPortStatusLinkState;
565/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1linkstatephase?language=objc)
566pub const IOUSBHostCIPortStatusCommandData1LinkStatePhase: c_uint =
567    IOUSBHostCIPortStatusLinkStatePhase;
568/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1speed?language=objc)
569pub const IOUSBHostCIPortStatusCommandData1Speed: c_uint = IOUSBHostCIPortStatusSpeed;
570/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1speedphase?language=objc)
571pub const IOUSBHostCIPortStatusCommandData1SpeedPhase: c_uint = IOUSBHostCIPortStatusSpeedPhase;
572/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1overcurrentchange?language=objc)
573pub const IOUSBHostCIPortStatusCommandData1OvercurrentChange: c_uint =
574    IOUSBHostCIPortStatusOvercurrentChange;
575/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1connectchange?language=objc)
576pub const IOUSBHostCIPortStatusCommandData1ConnectChange: c_uint =
577    IOUSBHostCIPortStatusConnectChange;
578/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1linkstatechange?language=objc)
579pub const IOUSBHostCIPortStatusCommandData1LinkStateChange: c_uint =
580    IOUSBHostCIPortStatusLinkStateChange;
581/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciportstatuscommanddata1changemask?language=objc)
582pub const IOUSBHostCIPortStatusCommandData1ChangeMask: c_uint = IOUSBHostCIPortStatusChangeMask;
583
584/// Device state managed by IOUSBHostCIDeviceStateMachine
585///
586/// IOUSBHostCIDeviceStateDestroyed represents a device that is no longer usable, and whose resources will be destroyed and freed
587/// IOUSBHostCIDeviceStatePaused represents a device that may have IO requests enqueued, but they are not active on the bus.  The state is closely correlated to IOUSBHostCIPortStateSuspended, and endpoints associated with this device may not be in the IOUSBHostCIEndpointStateActive state.
588/// IOUSBHostCIDeviceStateActive is the initial sate of a newly created IOUSBHsotCIDeviceStateMachine, and represents a device that can be processing IO requests.  Endpoints associated with this device may be in the IOUSBHostCIEndpointStateActive state.
589///
590/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicestate?language=objc)
591#[repr(transparent)]
592#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
593pub struct IOUSBHostCIDeviceState(pub c_uint);
594impl IOUSBHostCIDeviceState {
595    #[doc(alias = "IOUSBHostCIDeviceStateDestroyed")]
596    pub const Destroyed: Self = Self(0);
597    #[doc(alias = "IOUSBHostCIDeviceStatePaused")]
598    pub const Paused: Self = Self(1);
599    #[doc(alias = "IOUSBHostCIDeviceStateActive")]
600    pub const Active: Self = Self(2);
601}
602
603unsafe impl Encode for IOUSBHostCIDeviceState {
604    const ENCODING: Encoding = c_uint::ENCODING;
605}
606
607unsafe impl RefEncode for IOUSBHostCIDeviceState {
608    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
609}
610
611/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata0rootport?language=objc)
612#[cfg(feature = "objc2-io-kit")]
613pub const IOUSBHostCIDeviceCreateCommandData0RootPort: c_uint = IOUSBBitRange!(0, 3);
614/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata0rootportphase?language=objc)
615#[cfg(feature = "objc2-io-kit")]
616pub const IOUSBHostCIDeviceCreateCommandData0RootPortPhase: c_uint = IOUSBBitRangePhase!(0, 3);
617/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata0route?language=objc)
618#[cfg(feature = "objc2-io-kit")]
619pub const IOUSBHostCIDeviceCreateCommandData0Route: c_uint = IOUSBBitRange!(4, 23);
620/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata0routephase?language=objc)
621#[cfg(feature = "objc2-io-kit")]
622pub const IOUSBHostCIDeviceCreateCommandData0RoutePhase: c_uint = IOUSBBitRangePhase!(4, 23);
623
624/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata1deviceaddress?language=objc)
625#[cfg(feature = "objc2-io-kit")]
626pub const IOUSBHostCIDeviceCreateCommandData1DeviceAddress: c_uint = IOUSBBitRange64!(0, 7);
627/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcidevicecreatecommanddata1deviceaddressphase?language=objc)
628#[cfg(feature = "objc2-io-kit")]
629pub const IOUSBHostCIDeviceCreateCommandData1DeviceAddressPhase: c_uint = IOUSBBitRangePhase!(0, 7);
630
631/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcideviceupdatecommanddata1descriptoraddress?language=objc)
632#[cfg(feature = "objc2-io-kit")]
633pub const IOUSBHostCIDeviceUpdateCommandData1DescriptorAddress: c_ulong = IOUSBBitRange64!(0, 63);
634/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcideviceupdatecommanddata1descriptoraddressphase?language=objc)
635#[cfg(feature = "objc2-io-kit")]
636pub const IOUSBHostCIDeviceUpdateCommandData1DescriptorAddressPhase: c_ulong =
637    IOUSBBitRangePhase!(0, 63);
638
639/// Endpoint state managed by IOUSBHostCIEndpointStateMachine
640///
641/// IOUSBHostCIEndpointStateDestroyed represents an endpoint that is no longer usable, and whose resources will be destroyed and freed.
642/// IOUSBHostCIEndpointStateHalted represents an endpoint that has encountered an IO error.  The client must not access or modify transfer structures or IO buffers for an endpoint in this state.
643/// IOUSBHostCIEndpointStatePaused is the initial state of a newly created IOUSBHostCIEndpointStateMachine, and represents an endpoint that is not currently servicing IO requests.  The client must not access or modify transfer structures or IO buffers for an endpoint in this state.
644/// IOUSBHostCIEndpointStateActive represents an endpoint that is currently servicing an IO request, or is idle after successfully servicing its queue of IO requests.  In this state the client may access transfer structures and IO buffers.
645///
646/// See also [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciendpointstate?language=objc)
647#[repr(transparent)]
648#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
649pub struct IOUSBHostCIEndpointState(pub c_uint);
650impl IOUSBHostCIEndpointState {
651    #[doc(alias = "IOUSBHostCIEndpointStateDestroyed")]
652    pub const Destroyed: Self = Self(0);
653    #[doc(alias = "IOUSBHostCIEndpointStateHalted")]
654    pub const Halted: Self = Self(1);
655    #[doc(alias = "IOUSBHostCIEndpointStatePaused")]
656    pub const Paused: Self = Self(2);
657    #[doc(alias = "IOUSBHostCIEndpointStateActive")]
658    pub const Active: Self = Self(3);
659}
660
661unsafe impl Encode for IOUSBHostCIEndpointState {
662    const ENCODING: Encoding = c_uint::ENCODING;
663}
664
665unsafe impl RefEncode for IOUSBHostCIEndpointState {
666    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
667}
668
669/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciendpointcreatecommanddata1descriptorphase?language=objc)
670#[cfg(feature = "objc2-io-kit")]
671pub const IOUSBHostCIEndpointCreateCommandData1DescriptorPhase: c_ulong =
672    IOUSBBitRangePhase!(0, 63);
673
674/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciendpointupdatecommanddata1descriptorphase?language=objc)
675#[cfg(feature = "objc2-io-kit")]
676pub const IOUSBHostCIEndpointUpdateCommandData1DescriptorPhase: c_ulong =
677    IOUSBBitRangePhase!(0, 63);
678
679/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciendpointresetcommanddata1clearstate?language=objc)
680#[cfg(feature = "objc2-io-kit")]
681pub const IOUSBHostCIEndpointResetCommandData1ClearState: c_uint = IOUSBBit!(0);
682
683/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciendpointsetnexttransfercommanddata1addressphase?language=objc)
684#[cfg(feature = "objc2-io-kit")]
685pub const IOUSBHostCIEndpointSetNextTransferCommandData1AddressPhase: c_ulong =
686    IOUSBBitRangePhase!(0, 63);
687
688/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1bmrequesttype?language=objc)
689#[cfg(feature = "objc2-io-kit")]
690pub const IOUSBHostCISetupTransferData1bmRequestType: c_ulong = IOUSBBitRange64!(0, 7);
691/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1bmrequesttypephase?language=objc)
692#[cfg(feature = "objc2-io-kit")]
693pub const IOUSBHostCISetupTransferData1bmRequestTypePhase: c_ulong = IOUSBBitRangePhase!(0, 7);
694/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1brequest?language=objc)
695#[cfg(feature = "objc2-io-kit")]
696pub const IOUSBHostCISetupTransferData1bRequest: c_ulong = IOUSBBitRange64!(8, 15);
697/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1brequestphase?language=objc)
698#[cfg(feature = "objc2-io-kit")]
699pub const IOUSBHostCISetupTransferData1bRequestPhase: c_ulong = IOUSBBitRangePhase!(8, 15);
700/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1wvalue?language=objc)
701#[cfg(feature = "objc2-io-kit")]
702pub const IOUSBHostCISetupTransferData1wValue: c_ulong = IOUSBBitRange64!(16, 31);
703/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1wvaluephase?language=objc)
704#[cfg(feature = "objc2-io-kit")]
705pub const IOUSBHostCISetupTransferData1wValuePhase: c_ulong = IOUSBBitRangePhase!(16, 31);
706/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1windexphase?language=objc)
707#[cfg(feature = "objc2-io-kit")]
708pub const IOUSBHostCISetupTransferData1wIndexPhase: c_ulong = IOUSBBitRangePhase!(32, 47);
709/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcisetuptransferdata1wlengthphase?language=objc)
710#[cfg(feature = "objc2-io-kit")]
711pub const IOUSBHostCISetupTransferData1wLengthPhase: c_ulong = IOUSBBitRangePhase!(48, 63);
712
713/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcinormaltransferdata0length?language=objc)
714#[cfg(feature = "objc2-io-kit")]
715pub const IOUSBHostCINormalTransferData0Length: c_uint = IOUSBBitRange!(0, 27);
716/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcinormaltransferdata0lengthphase?language=objc)
717#[cfg(feature = "objc2-io-kit")]
718pub const IOUSBHostCINormalTransferData0LengthPhase: c_uint = IOUSBBitRangePhase!(0, 27);
719
720/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcinormaltransferdata1buffer?language=objc)
721#[cfg(feature = "objc2-io-kit")]
722pub const IOUSBHostCINormalTransferData1Buffer: c_ulong = IOUSBBitRange64!(0, 63);
723/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcinormaltransferdata1bufferphase?language=objc)
724#[cfg(feature = "objc2-io-kit")]
725pub const IOUSBHostCINormalTransferData1BufferPhase: c_ulong = IOUSBBitRangePhase!(0, 63);
726
727/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransfercontrolframenumber?language=objc)
728#[cfg(feature = "objc2-io-kit")]
729pub const IOUSBHostCIIsochronousTransferControlFrameNumber: c_uint = IOUSBBitRange!(16, 23);
730/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransfercontrolframenumberphase?language=objc)
731#[cfg(feature = "objc2-io-kit")]
732pub const IOUSBHostCIIsochronousTransferControlFrameNumberPhase: c_uint =
733    IOUSBBitRangePhase!(16, 23);
734/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransfercontrolasap?language=objc)
735#[cfg(feature = "objc2-io-kit")]
736pub const IOUSBHostCIIsochronousTransferControlASAP: c_uint = IOUSBBit!(24);
737
738/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransferdata0length?language=objc)
739pub const IOUSBHostCIIsochronousTransferData0Length: c_uint = IOUSBHostCINormalTransferData0Length;
740/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransferdata0lengthphase?language=objc)
741pub const IOUSBHostCIIsochronousTransferData0LengthPhase: c_uint =
742    IOUSBHostCINormalTransferData0LengthPhase;
743
744/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransferdata1buffer?language=objc)
745pub const IOUSBHostCIIsochronousTransferData1Buffer: c_ulong = IOUSBHostCINormalTransferData1Buffer;
746/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostciisochronoustransferdata1bufferphase?language=objc)
747pub const IOUSBHostCIIsochronousTransferData1BufferPhase: c_ulong =
748    IOUSBHostCINormalTransferData1BufferPhase;
749
750/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcilinkdata1transferstructureaddress?language=objc)
751#[cfg(feature = "objc2-io-kit")]
752pub const IOUSBHostCILinkData1TransferStructureAddress: c_ulong = IOUSBBitRange64!(0, 63);
753/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcilinkdata1transferstructureaddressphase?language=objc)
754#[cfg(feature = "objc2-io-kit")]
755pub const IOUSBHostCILinkData1TransferStructureAddressPhase: c_ulong = IOUSBBitRangePhase!(0, 63);
756
757/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontrolstatus?language=objc)
758pub const IOUSBHostCITransferCompletionMessageControlStatus: c_uint = 3840;
759/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontrolstatusphase?language=objc)
760pub const IOUSBHostCITransferCompletionMessageControlStatusPhase: c_uint = 8;
761/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontroldeviceaddress?language=objc)
762#[cfg(feature = "objc2-io-kit")]
763pub const IOUSBHostCITransferCompletionMessageControlDeviceAddress: c_uint = IOUSBBitRange!(16, 23);
764/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontroldeviceaddressphase?language=objc)
765#[cfg(feature = "objc2-io-kit")]
766pub const IOUSBHostCITransferCompletionMessageControlDeviceAddressPhase: c_uint =
767    IOUSBBitRangePhase!(16, 23);
768/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontrolendpointaddress?language=objc)
769#[cfg(feature = "objc2-io-kit")]
770pub const IOUSBHostCITransferCompletionMessageControlEndpointAddress: c_uint =
771    IOUSBBitRange!(24, 31);
772/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagecontrolendpointaddressphase?language=objc)
773#[cfg(feature = "objc2-io-kit")]
774pub const IOUSBHostCITransferCompletionMessageControlEndpointAddressPhase: c_uint =
775    IOUSBBitRangePhase!(24, 31);
776
777/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagedata0transferlength?language=objc)
778#[cfg(feature = "objc2-io-kit")]
779pub const IOUSBHostCITransferCompletionMessageData0TransferLength: c_uint = IOUSBBitRange!(0, 27);
780/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagedata0transferlengthphase?language=objc)
781#[cfg(feature = "objc2-io-kit")]
782pub const IOUSBHostCITransferCompletionMessageData0TransferLengthPhase: c_uint =
783    IOUSBBitRangePhase!(0, 27);
784
785/// [Apple's documentation](https://developer.apple.com/documentation/iousbhost/iousbhostcitransfercompletionmessagedata1transferstructurephase?language=objc)
786#[cfg(feature = "objc2-io-kit")]
787pub const IOUSBHostCITransferCompletionMessageData1TransferStructurePhase: c_ulong =
788    IOUSBBitRangePhase!(0, 63);