//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconnnopowerreq?language=objc)
pub const kUSBBillboardVConnNoPowerReq: c_uint = 15;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdeviceclass?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceClass: &CStr = kUSBHostMatchingPropertyDeviceClass;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicesubclass?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceSubClass: &CStr = kUSBHostMatchingPropertyDeviceSubClass;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdeviceprotocol?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceProtocol: &CStr = kUSBHostMatchingPropertyDeviceProtocol;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicemaxpacketsize?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceMaxPacketSize: &CStr = kUSBHostDevicePropertyMaxPacketSize;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorid?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBVendorID: &CStr = kUSBHostMatchingPropertyVendorID;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorname?language=objc)
pub const kUSBVendorName: &CStr = kUSBVendorID;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbproductid?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBProductID: &CStr = kUSBHostMatchingPropertyProductID;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbproductname?language=objc)
pub const kUSBProductName: &CStr = kUSBProductID;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicereleasenumber?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceReleaseNumber: &CStr = kUSBHostMatchingPropertyDeviceReleaseNumber;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmanufacturerstringindex?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBManufacturerStringIndex: &CStr = kUSBHostDevicePropertyManufacturerStringIndex;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbproductstringindex?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBProductStringIndex: &CStr = kUSBHostDevicePropertyProductStringIndex;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbserialnumberstringindex?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBSerialNumberStringIndex: &CStr = kUSBHostDevicePropertySerialNumberStringIndex;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicenumconfigs?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBDeviceNumConfigs: &CStr = kUSBHostDevicePropertyNumConfigs;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacenumber?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceNumber: &CStr = kUSBHostMatchingPropertyInterfaceNumber;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbalternatesetting?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBAlternateSetting: &CStr = kUSBHostInterfacePropertyAlternateSetting;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbnumendpoints?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBNumEndpoints: &CStr = kUSBHostInterfacePropertyNumEndpoints;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfaceclass?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceClass: &CStr = kUSBHostMatchingPropertyInterfaceClass;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacesubclass?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceSubClass: &CStr = kUSBHostMatchingPropertyInterfaceSubClass;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfaceprotocol?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceProtocol: &CStr = kUSBHostMatchingPropertyInterfaceProtocol;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacestringindex?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceStringIndex: &CStr = kUSBHostInterfacePropertyStringIndex;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbconfigurationvalue?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBConfigurationValue: &CStr = kUSBHostMatchingPropertyConfigurationValue;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacestring?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBInterfaceString: &CStr = kUSBHostInterfacePropertyString;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb1284deviceid?language=objc)
pub const kUSB1284DeviceID: &CStr =
    unsafe { CStr::from_bytes_with_nul_unchecked(b"1284 Device ID\0") };
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcompatibilitymatch?language=objc)
pub const kUSBCompatibilityMatch: &CStr =
    unsafe { CStr::from_bytes_with_nul_unchecked(b"USBCompatibilityMatch\0") };
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbstandardversion?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBStandardVersion: &CStr = kUSBHostDevicePropertyStandardVersion;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbspecreleasenumber?language=objc)
pub const kUSBSpecReleaseNumber: &CStr = kUSBStandardVersion;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcontainerid?language=objc)
#[cfg(feature = "IOUSBHostFamilyDefinitions")]
pub const kUSBContainerID: &CStr = kUSBHostDevicePropertyContainerID;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbproductstring?language=objc)
pub const kUSBProductString: &CStr =
    unsafe { CStr::from_bytes_with_nul_unchecked(b"USB Product Name\0") };
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorstring?language=objc)
pub const kUSBVendorString: &CStr =
    unsafe { CStr::from_bytes_with_nul_unchecked(b"USB Vendor Name\0") };
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbserialnumberstring?language=objc)
pub const kUSBSerialNumberString: &CStr =
    unsafe { CStr::from_bytes_with_nul_unchecked(b"USB Serial Number\0") };
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcontrol?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBControl: c_uint = tIOUSBEndpointType::IOUSBEndpointTypeControl.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbisoc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBIsoc: c_uint = tIOUSBEndpointType::IOUSBEndpointTypeIsochronous.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbulk?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBBulk: c_uint = tIOUSBEndpointType::IOUSBEndpointTypeBulk.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterrupt?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBInterrupt: c_uint = tIOUSBEndpointType::IOUSBEndpointTypeInterrupt.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbanytype?language=objc)
pub const kUSBAnyType: c_uint = 0xFF;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbout?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBOut: c_uint = tIOUSBEndpointDirection::IOUSBEndpointDirectionOut.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbin?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBIn: c_uint = tIOUSBEndpointDirection::IOUSBEndpointDirectionIn.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbnone?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBNone: c_uint = tIOUSBEndpointDirection::IOUSBEndpointDirectionUnknown.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbanydirn?language=objc)
pub const kUSBAnyDirn: c_uint = 3;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbstandard?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBStandard: c_uint =
    tIOUSBDeviceRequestTypeValue::IOUSBDeviceRequestTypeValueStandard.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbclass?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBClass: c_uint = tIOUSBDeviceRequestTypeValue::IOUSBDeviceRequestTypeValueClass.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendor?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBVendor: c_uint = tIOUSBDeviceRequestTypeValue::IOUSBDeviceRequestTypeValueVendor.0;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevice?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDevice: c_uint =
    tIOUSBDeviceRequestRecipientValue::IOUSBDeviceRequestRecipientValueDevice.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterface?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBInterface: c_uint =
    tIOUSBDeviceRequestRecipientValue::IOUSBDeviceRequestRecipientValueInterface.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpoint?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpoint: c_uint =
    tIOUSBDeviceRequestRecipientValue::IOUSBDeviceRequestRecipientValueEndpoint.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbother?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBOther: c_uint =
    tIOUSBDeviceRequestRecipientValue::IOUSBDeviceRequestRecipientValueOther.0;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqgetstatus?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqGetStatus: c_uint = kIOUSBDeviceRequestGetStatus;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqclearfeature?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqClearFeature: c_uint = kIOUSBDeviceRequestClearFeature;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqgetstate?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqGetState: c_uint = kIOUSBDeviceRequestGetState;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsetfeature?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSetFeature: c_uint = kIOUSBDeviceRequestSetFeature;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqreserved2?language=objc)
pub const kUSBRqReserved2: c_uint = 4;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsetaddress?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSetAddress: c_uint = kIOUSBDeviceRequestSetAddress;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqgetdescriptor?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqGetDescriptor: c_uint = kIOUSBDeviceRequestGetDescriptor;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsetdescriptor?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSetDescriptor: c_uint = kIOUSBDeviceRequestSetDescriptor;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqgetconfig?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqGetConfig: c_uint = kIOUSBDeviceRequestGetConfiguration;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsetconfig?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSetConfig: c_uint = kIOUSBDeviceRequestSetConfiguration;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqgetinterface?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqGetInterface: c_uint = kIOUSBDeviceRequestGetInterface;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsetinterface?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSetInterface: c_uint = kIOUSBDeviceRequestSetInterface;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrqsyncframe?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBRqSyncFrame: c_uint = kIOUSBDeviceRequestSynchFrame;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsetsel?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBSetSel: c_uint = kIOUSBDeviceRequestSetSel;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsetisochdelay?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBSetIsochDelay: c_uint = kIOUSBDeviceRequestSetIsochronousDelay;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbanydesc?language=objc)
pub const kUSBAnyDesc: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicedesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeDevice.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbconfdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBConfDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeConfiguration.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbstringdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBStringDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeString.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacedesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBInterfaceDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeInterface.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeEndpoint.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicequalifierdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceQualifierDesc: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeDeviceQualifier.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbotherspeedconfdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBOtherSpeedConfDesc: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeOtherSpeedConfiguration.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfacepowerdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBInterfacePowerDesc: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeInterfacePower.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbonthegodesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBOnTheGoDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeOTG.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusdebugdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSDebugDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeDebug.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfaceassociationdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBInterfaceAssociationDesc: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeInterfaceAssociation.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbosdescriptor?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBBOSDescriptor: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeBOS.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapability?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapability: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeDeviceCapability.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedendpointcompanion?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBSuperSpeedEndpointCompanion: c_uint =
    tIOUSBDescriptorType::IOUSBDescriptorTypeSuperSpeedUSBEndpointCompanion.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb3hubdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSB3HUBDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeSuperSpeedHub.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhiddesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBHIDDesc: c_uint = tIOUSBDescriptorType::IOUSBDecriptorTypeHID.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbreportdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBReportDesc: c_uint = tIOUSBDescriptorType::IOUSBDecriptorTypeReport.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbphysicaldesc?language=objc)
pub const kUSBPhysicalDesc: c_uint = 0x23;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhubdesc?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBHUBDesc: c_uint = tIOUSBDescriptorType::IOUSBDescriptorTypeHub.0;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilitywirelessusb?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilityWirelessUSB: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeWireless.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilityusb20extension?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilityUSB20Extension: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeUSB20Extension.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilitysuperspeedusb?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilitySuperSpeedUSB: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeSuperSpeed.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilitycontainerid?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilityContainerID: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeContainerID.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilitybillboard?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilityBillboard: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeBillboard.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdevicecapabilitybillboardaltmode?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBDeviceCapabilityBillboardAltMode: c_uint =
    tIOUSBDeviceCapabilityType::IOUSBDeviceCapabilityTypeBillboardAltMode.0;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeatureendpointstall?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureEndpointStall: c_uint = IOUSBEndpointFeatureSelectorStall;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeaturedeviceremotewakeup?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureDeviceRemoteWakeup: c_uint = kIOUSBDeviceFeatureSelectorRemoteWakeup;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeaturetestmode?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureTestMode: c_uint = kIOUSBDeviceFeatureSelectorTestMode;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeaturefunctionsuspend?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureFunctionSuspend: c_uint = kIOUSBInterfaceFeatureSelectorSuspend;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeatureu1enable?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureU1Enable: c_uint = kIOUSBDeviceFeatureSelectorU1Enable;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeatureu2enable?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureU2Enable: c_uint = kIOUSBDeviceFeatureSelectorU2Enable;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeatureltmenable?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFeatureLTMEnable: c_uint = kIOUSBDeviceFeatureSelectorLTMEnable;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfunctionremotewakecapablebit?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFunctionRemoteWakeCapableBit: c_uint = IOUSBBit!(0);
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfunctionremotewakeupbit?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFunctionRemoteWakeupBit: c_uint = IOUSBBit!(1);
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusblowpowersuspendstatebit?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBLowPowerSuspendStateBit: c_uint = IOUSBBit!(0);
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfunctionremotewakeenablebit?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBFunctionRemoteWakeEnableBit: c_uint = IOUSBBit!(1);

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb100maavailable?language=objc)
pub const kUSB100mAAvailable: c_uint = 50;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb500maavailable?language=objc)
pub const kUSB500mAAvailable: c_uint = 250;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb100ma?language=objc)
pub const kUSB100mA: c_uint = 50;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbatrbuspowered?language=objc)
pub const kUSBAtrBusPowered: c_uint = 0x80;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbatrselfpowered?language=objc)
pub const kUSBAtrSelfPowered: c_uint = 0x40;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbatrremotewakeup?language=objc)
pub const kUSBAtrRemoteWakeup: c_uint = 0x20;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb2maxpowerperport?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSB2MaxPowerPerPort: c_uint = tIOUSB20BusCurrent::IOUSB20BusCurrentDefault.0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb150maavailable?language=objc)
pub const kUSB150mAAvailable: c_uint = 75;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb900maavailable?language=objc)
pub const kUSB900mAAvailable: c_uint = 450;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb150ma?language=objc)
pub const kUSB150mA: c_uint = 75;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb3maxpowerperport?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSB3MaxPowerPerPort: c_uint = tIOUSB30BusCurrent::IOUSB30BusCurrentDefault.0;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrel10?language=objc)
pub const kUSBRel10: c_uint = 0x0100;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrel11?language=objc)
pub const kUSBRel11: c_uint = 0x0110;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrel20?language=objc)
pub const kUSBRel20: c_uint = 0x0200;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrel30?language=objc)
pub const kUSBRel30: c_uint = 0x0300;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqgetreport?language=objc)
pub const kHIDRqGetReport: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqgetidle?language=objc)
pub const kHIDRqGetIdle: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqgetprotocol?language=objc)
pub const kHIDRqGetProtocol: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqsetreport?language=objc)
pub const kHIDRqSetReport: c_uint = 9;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqsetidle?language=objc)
pub const kHIDRqSetIdle: c_uint = 10;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrqsetprotocol?language=objc)
pub const kHIDRqSetProtocol: c_uint = 11;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrtinputreport?language=objc)
pub const kHIDRtInputReport: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrtoutputreport?language=objc)
pub const kHIDRtOutputReport: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidrtfeaturereport?language=objc)
pub const kHIDRtFeatureReport: c_uint = 3;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidbootprotocolvalue?language=objc)
pub const kHIDBootProtocolValue: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidreportprotocolvalue?language=objc)
pub const kHIDReportProtocolValue: c_uint = 1;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcapslockkey?language=objc)
pub const kUSBCapsLockKey: c_uint = 0x39;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbnumlockkey?language=objc)
pub const kUSBNumLockKey: c_uint = 0x53;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbscrolllockkey?language=objc)
pub const kUSBScrollLockKey: c_uint = 0x47;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcompositeclass?language=objc)
pub const kUSBCompositeClass: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommclass?language=objc)
pub const kUSBCommClass: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommunicationclass?language=objc)
pub const kUSBCommunicationClass: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhubclass?language=objc)
pub const kUSBHubClass: c_uint = 9;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdataclass?language=objc)
pub const kUSBDataClass: c_uint = 10;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbpersonalhealthcareclass?language=objc)
pub const kUSBPersonalHealthcareClass: c_uint = 15;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardclass?language=objc)
pub const kUSBBillBoardClass: c_uint = 17;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdiagnosticclass?language=objc)
pub const kUSBDiagnosticClass: c_uint = 220;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbwirelesscontrollerclass?language=objc)
pub const kUSBWirelessControllerClass: c_uint = 224;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmiscellaneousclass?language=objc)
pub const kUSBMiscellaneousClass: c_uint = 239;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbapplicationspecificclass?language=objc)
pub const kUSBApplicationSpecificClass: c_uint = 254;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorspecificclass?language=objc)
pub const kUSBVendorSpecificClass: c_uint = 255;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbaudioclass?language=objc)
pub const kUSBAudioClass: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbaudiointerfaceclass?language=objc)
pub const kUSBAudioInterfaceClass: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommunicationcontrolinterfaceclass?language=objc)
pub const kUSBCommunicationControlInterfaceClass: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommunicationdatainterfaceclass?language=objc)
pub const kUSBCommunicationDataInterfaceClass: c_uint = 10;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhidclass?language=objc)
pub const kUSBHIDClass: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhidinterfaceclass?language=objc)
pub const kUSBHIDInterfaceClass: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbphysicalinterfaceclass?language=objc)
pub const kUSBPhysicalInterfaceClass: c_uint = 5;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbimageinterfaceclass?language=objc)
pub const kUSBImageInterfaceClass: c_uint = 6;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbprintingclass?language=objc)
pub const kUSBPrintingClass: c_uint = 7;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbprintinginterfaceclass?language=objc)
pub const kUSBPrintingInterfaceClass: c_uint = 7;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstorageclass?language=objc)
pub const kUSBMassStorageClass: c_uint = 8;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstorageinterfaceclass?language=objc)
pub const kUSBMassStorageInterfaceClass: c_uint = 8;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbchipsmartcardinterfaceclass?language=objc)
pub const kUSBChipSmartCardInterfaceClass: c_uint = 11;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcontentsecurityinterfaceclass?language=objc)
pub const kUSBContentSecurityInterfaceClass: c_uint = 13;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvideointerfaceclass?language=objc)
pub const kUSBVideoInterfaceClass: c_uint = 14;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbpersonalhealthcareinterfaceclass?language=objc)
pub const kUSBPersonalHealthcareInterfaceClass: c_uint = 15;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdiagnosticdeviceinterfaceclass?language=objc)
pub const kUSBDiagnosticDeviceInterfaceClass: c_uint = 220;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbwirelesscontrollerinterfaceclass?language=objc)
pub const kUSBWirelessControllerInterfaceClass: c_uint = 224;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbapplicationspecificinterfaceclass?language=objc)
pub const kUSBApplicationSpecificInterfaceClass: c_uint = 254;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorspecificinterfaceclass?language=objc)
pub const kUSBVendorSpecificInterfaceClass: c_uint = 255;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdisplayclass?language=objc)
pub const kUSBDisplayClass: c_uint = 4;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcompositesubclass?language=objc)
pub const kUSBCompositeSubClass: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhubsubclass?language=objc)
pub const kUSBHubSubClass: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbaudiocontrolsubclass?language=objc)
pub const kUSBAudioControlSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbaudiostreamingsubclass?language=objc)
pub const kUSBAudioStreamingSubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmidistreamingsubclass?language=objc)
pub const kUSBMIDIStreamingSubClass: c_uint = 0x03;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdfusubclass?language=objc)
pub const kUSBDFUSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbirdabridgesubclass?language=objc)
pub const kUSBIrDABridgeSubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbtestmeasurementsubclass?language=objc)
pub const kUSBTestMeasurementSubClass: c_uint = 0x03;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstoragerbcsubclass?language=objc)
pub const kUSBMassStorageRBCSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstorageatapisubclass?language=objc)
pub const kUSBMassStorageATAPISubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstorageqic157subclass?language=objc)
pub const kUSBMassStorageQIC157SubClass: c_uint = 0x03;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstorageufisubclass?language=objc)
pub const kUSBMassStorageUFISubClass: c_uint = 0x04;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstoragesff8070isubclass?language=objc)
pub const kUSBMassStorageSFF8070iSubClass: c_uint = 0x05;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbmassstoragescsisubclass?language=objc)
pub const kUSBMassStorageSCSISubClass: c_uint = 0x06;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbhidbootinterfacesubclass?language=objc)
pub const kUSBHIDBootInterfaceSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommdirectlinesubclass?language=objc)
pub const kUSBCommDirectLineSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommabstractsubclass?language=objc)
pub const kUSBCommAbstractSubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommtelephonesubclass?language=objc)
pub const kUSBCommTelephoneSubClass: c_uint = 0x03;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommmultichannelsubclass?language=objc)
pub const kUSBCommMultiChannelSubClass: c_uint = 0x04;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommcapisubclass?language=objc)
pub const kUSBCommCAPISubClass: c_uint = 0x05;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommethernetnetworkingsubclass?language=objc)
pub const kUSBCommEthernetNetworkingSubClass: c_uint = 0x06;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbatmnetworkingsubclass?language=objc)
pub const kUSBATMNetworkingSubClass: c_uint = 0x07;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbreprogrammablediagnosticsubclass?language=objc)
pub const kUSBReprogrammableDiagnosticSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbrfcontrollersubclass?language=objc)
pub const kUSBRFControllerSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbcommonclasssubclass?language=objc)
pub const kUSBCommonClassSubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvideocontrolsubclass?language=objc)
pub const kUSBVideoControlSubClass: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvideostreamingsubclass?language=objc)
pub const kUSBVideoStreamingSubClass: c_uint = 0x02;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvideointerfacecollectionsubclass?language=objc)
pub const kUSBVideoInterfaceCollectionSubClass: c_uint = 0x03;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/usbclassspecificdesc?language=objc)
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct USBClassSpecificDesc(pub c_uint);
impl USBClassSpecificDesc {
    #[doc(alias = "kUSBClassSpecificDescriptor")]
    pub const Descriptor: Self = Self(0x24);
}

#[cfg(feature = "objc2")]
unsafe impl Encode for USBClassSpecificDesc {
    const ENCODING: Encoding = c_uint::ENCODING;
}

#[cfg(feature = "objc2")]
unsafe impl RefEncode for USBClassSpecificDesc {
    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khubsuperspeedprotocol?language=objc)
pub const kHubSuperSpeedProtocol: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidnointerfaceprotocol?language=objc)
pub const kHIDNoInterfaceProtocol: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidkeyboardinterfaceprotocol?language=objc)
pub const kHIDKeyboardInterfaceProtocol: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/khidmouseinterfaceprotocol?language=objc)
pub const kHIDMouseInterfaceProtocol: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbvendorspecificprotocol?language=objc)
pub const kUSBVendorSpecificProtocol: c_uint = 0xff;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb2compliancedeviceprotocol?language=objc)
pub const kUSB2ComplianceDeviceProtocol: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbluetoothprogramminginterfaceprotocol?language=objc)
pub const kUSBBluetoothProgrammingInterfaceProtocol: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbinterfaceassociationdescriptorprotocol?language=objc)
pub const KUSBInterfaceAssociationDescriptorProtocol: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kmscprotocolcontrolbulkinterrupt?language=objc)
pub const kMSCProtocolControlBulkInterrupt: c_uint = 0x00;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kmscprotocolcontrolbulk?language=objc)
pub const kMSCProtocolControlBulk: c_uint = 0x01;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kmscprotocolbulkonly?language=objc)
pub const kMSCProtocolBulkOnly: c_uint = 0x50;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kmscprotocolusbattachedscsi?language=objc)
pub const kMSCProtocolUSBAttachedSCSI: c_uint = 0x62;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdfuattributesmask?language=objc)
pub const kUSBDFUAttributesMask: c_uint = 0x07;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdfucandownloadbit?language=objc)
pub const kUSBDFUCanDownloadBit: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdfucanuploadbit?language=objc)
pub const kUSBDFUCanUploadBit: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdfumanifestationtolerantbit?language=objc)
pub const kUSBDFUManifestationTolerantBit: c_uint = 2;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusprintingclassgetdeviceid?language=objc)
pub const kUSPrintingClassGetDeviceID: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusprintingclassgeportstatus?language=objc)
pub const kUSPrintingClassGePortStatus: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusprintingclasssoftreset?language=objc)
pub const kUSPrintingClassSoftReset: c_uint = 2;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbendpointaddressmask?language=objc)
pub const kUSBbEndpointAddressMask: c_uint = 0x0f;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbendpointdirectionbit?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBbEndpointDirectionBit: c_uint = kIOUSBEndpointDescriptorDirectionPhase;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbendpointdirectionmask?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBbEndpointDirectionMask: c_uint = kIOUSBEndpointDescriptorDirection;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointdirectionout?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointDirectionOut: c_uint = kIOUSBEndpointDescriptorDirectionOut;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointdirectionin?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointDirectionIn: c_uint = kIOUSBEndpointDescriptorDirectionIn;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointbmattributestransfertypemask?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointbmAttributesTransferTypeMask: c_uint = kIOUSBEndpointDescriptorTransferType;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointbmattributessynchronizationtypemask?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointbmAttributesSynchronizationTypeMask: c_uint =
    kIOUSBEndpointDescriptorSynchronizationType;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointbmattributessynchronizationtypeshift?language=objc)
pub const kUSBEndpointbmAttributesSynchronizationTypeShift: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointbmattributesusagetypemask?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kUSBEndpointbmAttributesUsageTypeMask: c_uint = kIOUSBEndpointDescriptorUsageType;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbendpointbmattributesusagetypeshift?language=objc)
pub const kUSBEndpointbmAttributesUsageTypeShift: c_uint = 4;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbperiodicinterruptusagetype?language=objc)
pub const kUSBPeriodicInterruptUsageType: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbnotificationinterruptusagetype?language=objc)
pub const kUSBNotificationInterruptUsageType: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbnosynchronizationisocsynctype?language=objc)
pub const kUSBNoSynchronizationIsocSyncType: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbasynchronousisocsynctype?language=objc)
pub const kUSBAsynchronousIsocSyncType: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbadaptiveisocsynctype?language=objc)
pub const kUSBAdaptiveIsocSyncType: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsynchronousisocsynctype?language=objc)
pub const kUSBSynchronousIsocSyncType: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbdataisocusagetype?language=objc)
pub const kUSBDataIsocUsageType: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbfeedbackisocusagetype?language=objc)
pub const kUSBFeedbackIsocUsageType: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbimplicitfeedbackdataisocusagetype?language=objc)
pub const kUSBImplicitFeedbackDataIsocUsageType: c_uint = 2;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusb20extensionlpmsupported?language=objc)
pub const kUSB20ExtensionLPMSupported: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedltmcapable?language=objc)
pub const kUSBSuperSpeedLTMCapable: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedsupportsls?language=objc)
pub const kUSBSuperSpeedSupportsLS: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedsupportsfs?language=objc)
pub const kUSBSuperSpeedSupportsFS: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedsupportshs?language=objc)
pub const kUSBSuperSpeedSupportsHS: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbsuperspeedsupportsss?language=objc)
pub const kUSBSuperSpeedSupportsSS: c_uint = 3;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn1watt?language=objc)
pub const kUSBBillboardVConn1Watt: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn1p5watt?language=objc)
pub const kUSBBillboardVConn1P5Watt: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn2watt?language=objc)
pub const kUSBBillboardVConn2Watt: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn3watt?language=objc)
pub const kUSBBillboardVConn3Watt: c_uint = 3;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn4watt?language=objc)
pub const kUSBBillboardVConn4Watt: c_uint = 4;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn5watt?language=objc)
pub const kUSBBillboardVConn5Watt: c_uint = 5;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconn6watt?language=objc)
pub const kUSBBillboardVConn6Watt: c_uint = 6;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardvconnreserved?language=objc)
pub const kUSBBillboardVConnReserved: c_uint = 7;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardunspecifiederror?language=objc)
pub const kUSBBillboardUnspecifiedError: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardconfignotattempted?language=objc)
pub const kUSBBillboardConfigNotAttempted: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardconfigunsuccessful?language=objc)
pub const kUSBBillboardConfigUnsuccessful: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardaltmodeconfigsuccess?language=objc)
pub const kUSBBillboardAltModeConfigSuccess: c_uint = 3;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardadditinalinfonopower?language=objc)
pub const kUSBBillboardAdditinalInfoNoPower: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kusbbillboardadditinalinfonousbpd?language=objc)
pub const kUSBBillboardAdditinalInfoNoUSBPD: c_uint = 2;

/// [Apple's documentation](https://developer.apple.com/documentation/iokit/kapplevendorid?language=objc)
#[cfg(feature = "AppleUSBDefinitions")]
pub const kAppleVendorID: c_uint = kIOUSBAppleVendorID;
