Cargo Features

[dependencies]
objc2-io-kit = { version = "0.3.1", default-features = false, features = ["std", "alloc", "bitflags", "block2", "dispatch2", "libc", "objc2", "AppleUSBDefinitions", "IOUSBHostFamilyDefinitions", "IOUSBLib", "USB", "USBSpec", "graphics", "hid", "hidsystem", "usb"] }
default = AppleUSBDefinitions, IOUSBHostFamilyDefinitions, IOUSBLib, USB, USBSpec, bitflags, block2, dispatch2, graphics, hid, hidsystem, libc, objc2, std, usb

These default features are set whenever objc2-io-kit is added without default-features = false somewhere in the dependency tree.

std default = alloc
alloc std
bitflags default hid

Enables bitflags

block2 default

Enables block2

Affects hidsystem::IOHIDUserDeviceSetReportBlock, hidsystem::IOHIDUserDeviceGetReportBlock, hidsystem::IOHIDUserDeviceRegisterGetReportBlock, hidsystem::IOHIDUserDeviceRegisterSetReportBlock

dispatch2 default

Enables dispatch2

Affects hid::IOHIDQueueSetDispatchQueue, hid::IOHIDQueueSetCancelHandler, hid::IOHIDDeviceSetDispatchQueue, hid::IOHIDDeviceSetCancelHandler, hid::IOHIDManagerSetDispatchQueue, hid::IOHIDManagerSetCancelHandler, hidsystem::IOHIDUserDeviceSetDispatchQueue, hidsystem::IOHIDUserDeviceSetCancelHandler, generated::IONotificationPortSetDispatchQueue

libc default

Enables libc

Affects graphics::IOAccelSurfaceInformation, graphics::IOAccelSurfaceReadData, graphics::IOGraphicsAcceleratorInterfaceStruct, graphics::IOGraphicsAcceleratorInterface, graphics::IOAccelFindAccelerator, graphics::IOFramebufferOpen, graphics::IODisplayCreateInfoDictionary, graphics::IODisplayForFramebuffer, graphics::IODisplaySetParameters, graphics::IODisplaySetFloatParameter, graphics::IODisplaySetIntegerParameter, graphics::IODisplayCopyParameters, graphics::IODisplayCopyFloatParameters, graphics::IODisplayGetFloatParameter, graphics::IODisplayGetIntegerRangeParameter, graphics::IODisplayCommitParameters, hid::IOHIDDeviceInterface, hid::IOHIDDeviceInterface121, hid::IOHIDDeviceInterface122, hid::IOHIDQueueInterface

objc2 default

Enables objc2, objc2 of objc2-core-foundation, objc2 of optional dispatch2

AppleUSBDefinitions default

Affects USB::kUSBRqDirnShift, USB::kUSBRqTypeShift, USB::kUSBRqRecipientMask, USB::IOUSBDeviceDescriptorPtr, USB::IOUSBDescriptorHeaderPtr, USB::IOUSBBOSDescriptorPtr, USB::IOUSBDeviceCapabilityDescriptorHeaderPtr, USB::IOUSBDeviceCapabilityUSB2ExtensionPtr, USB::IOUSBDeviceCapabilitySuperSpeedUSBPtr, USB::IOUSBDeviceCapabilitySuperSpeedPlusUSBPtr, USB::IOUSBDeviceCapabilityContainerIDPtr, USB::IOUSBPlatformCapabilityDescriptorPtr, USB::IOUSBDeviceCapabilityBillboardAltConfigPtr, USB::IOUSBDeviceCapabilityBillboardPtr, USB::IOUSBDeviceCapabilityBillboardAltModePtr, USB::IOUSBConfigurationDescriptorPtr, USBSpec::kUSBControl, USBSpec::kUSBIsoc, USBSpec::kUSBBulk, USBSpec::kUSBInterrupt

IOUSBHostFamilyDefinitions default

Affects USB::kUSBDevicePropertyLocationID, USB::kUSBProductIDMask, USB::kUSBProductIdsArrayName, USB::kUSBDeviceResumeRecoveryTime, USB::kUSBDeviceCurrentConfiguration, USB::kUSBDeviceRemoteWakeOverride, USB::kUSBDeviceConfigurationCurrentOverride, USB::kUSBDeviceResetDurationOverride, USB::kUSBDeviceFailedRequestedPower, USB::kUSBPropertyRemovable, USB::kUSBPropertyTestMode, USB::kUSBPropertyDebugLevel, USB::kUSBHubPropertyPowerSupply, USB::kUSBControllerSleepSupported, USB::kUSBPortPropertyBusCurrentAllocation, USBSpec::kUSBDeviceClass, USBSpec::kUSBDeviceSubClass, USBSpec::kUSBDeviceProtocol, USBSpec::kUSBDeviceMaxPacketSize, USBSpec::kUSBVendorID

IOUSBLib default

Enables objc2-core-foundation

USB default

Affects IOUSBLib::IOUSBInterfaceStruct100, IOUSBLib::IOUSBInterfaceInterface100, IOUSBLib::IOUSBInterfaceStruct182, IOUSBLib::IOUSBInterfaceInterface182, IOUSBLib::IOUSBInterfaceStruct183, IOUSBLib::IOUSBInterfaceInterface183, IOUSBLib::IOUSBInterfaceStruct190, IOUSBLib::IOUSBInterfaceInterface190, IOUSBLib::IOUSBInterfaceStruct192, IOUSBLib::IOUSBInterfaceInterface192, IOUSBLib::IOUSBInterfaceStruct197, IOUSBLib::IOUSBInterfaceInterface197, IOUSBLib::IOUSBDeviceStruct100, IOUSBLib::IOUSBDeviceInterface100, IOUSBLib::IOUSBDeviceStruct182, IOUSBLib::IOUSBDeviceInterface182

USBSpec default

Affects USB::kClearDeviceFeature, USB::kClearInterfaceFeature, USB::kClearEndpointFeature, USB::kGetConfiguration, USB::kGetDescriptor, USB::kGetInterface, USB::kGetDeviceStatus, USB::kGetInterfaceStatus, USB::kGetEndpointStatus, USB::kSetAddress, USB::kSetConfiguration, USB::kSetDescriptor, USB::kSetDeviceFeature, USB::kSetInterfaceFeature, USB::kSetEndpointFeature, USB::kSetInterface

graphics default

Enables objc2-core-foundation

Affects hidsystem::evioLLEvent, hidsystem::IOHIDPostEvent, hidsystem::IOHIDSetVirtualDisplayBounds

hid default = bitflags

Enables CFDate and CFSet of objc2-core-foundation

Affects hidsystem::IOHIDUserDeviceSetReportBlock, hidsystem::IOHIDUserDeviceGetReportBlock, hidsystem::IOHIDUserDeviceRegisterGetReportBlock, hidsystem::IOHIDUserDeviceRegisterSetReportBlock

hidsystem default

Enables objc2-core-foundation

usb default