Transport Layer Drivers

The driver for a storage device is implemented in the I/O Kit as a transport driver that resides within the Transport Layer of Figure 14-1. Like any other I/O Kit driver, a transport driver will match against the provider class that represents its hardware device; the provider class is also the means by which the driver accesses the underlying hardware. For example, a storage device that is USB-based will have a provider class that is an instance of IOUSBDevice or IOUSBInterface.

The I/O Kit provides no restrictions on the superclass that a transport driver can be derived from, other than ultimately deriving from the IOService class, as is required by all I/O Kit drivers. This allows a transport driver a large degree of ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.