Glossary
IOUSBHost
The IOKit framework for USB device drivers on macOS. Replaces the older IOUSBFamily; the modern path for both in-kernel and DriverKit USB drivers.
IOUSBHost is the IOKit framework that handles USB devices on macOS — both the kernel-side host controller drivers and the per-device driver framework that USB drivers (kext or DriverKit dext) subclass.
Replaces the older IOUSBFamily that shipped through OS X. IOUSBHost is the modern API; new USB drivers target it.
The key classes:
IOUSBHostDevice— the IOService that represents an enumerated USB device. Published in the IORegistry when a device is plugged in and enumerated.IOUSBHostInterface— represents a specific interface within a multi-interface device.IOUSBHostPipe— an endpoint on an interface (control, bulk, interrupt, isochronous).
User-space apps that need to talk to USB devices go through IOUSBHost.framework (the modern API, in Objective-C), which wraps the kernel-side IOUserClient machinery. Apps need com.apple.developer.driverkit.usb entitlement for DriverKit clients.
See also: IOKit, DriverKit, and the USB device flow article.