The IOUSBDeviceInterface Class

The IOUSBDeviceInterface class is a user-space class that provides equivalent functionality to the IOUSBDevice class used by kernel drivers. It's worth noting that although the user client class provides similar functionality to its kernel counterpart, it implements it through a different set of methods. Therefore, a kernel USB driver written to work with the IOUSBDevice class cannot simply be brought into a user-space USB driver.

After obtaining a reference to the user-space IOUSBDeviceInterface, the first thing an application will need to do is to configure the USB hardware. The steps an application will take to do this will closely match those explained in Chapter 8 for a kernel driver. First, the application ...

Get OS X and iOS Kernel Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.