Mass Storage Device Driver Programming Guide
PDF
Introduction
Mass Storage Overview
Mass Storage Devices in Mac OS X
Mass Storage Drivers
The Mass Storage Driver Stack
The Transport Driver Layer
The Device Services Layer
Mass Storage Stack Implementation
Mass Storage Driver Objects
The SCSI Architecture Model Family
The SCSITask Object
SCSI Architecture Model Family Device Interfaces
The Storage Family
Filter Schemes
Accessing IOMedia Objects From Applications
Construction of a Mass Storage Driver Stack
Mass Storage Device Compliance
Device Compliance
Available Mass Storage Drivers
Mass Storage Driver Matching and Loading
Driver Personalities and the Matching Process
Driver Personalities
Driver Matching
Driver Starting
Protocol Services Driver Matching
The FireWire SBP-2 Protocol Services Driver
The USB Mass Storage Class Protocol Services Driver
Vendor-Specific Mass Storage Class Compliant Devices
Matching for a Subclass of the USB Protocol Services Driver
The ATAPI Protocol Services Driver
Logical Unit Driver Matching
Filter-Scheme Driver Matching
Developing a Universal Binary
Creating a Logical Unit or Protocol Services Driver Universal Binary
Creating a Filter Scheme Universal Binary
Subclassing Logical Unit Drivers
Setting Up Your Project
Create a New Project
Edit Your Driver’s Property List
Creating Your Driver
Edit the Header File
Edit the C++ File
Testing Your Driver
Creating and Sending SCSI Commands
Subclassing Protocol Services Drivers
Setting Up Your Project
Create a New Project
Edit Your Driver’s Property List
Creating Your Driver
Edit the Header File
Edit the C++ File
Testing Your Driver
Developing a Filter Scheme
Edit Your Driver’s Property List
Creating Your Filter Scheme
Edit the Header File
Edit the C++ File
Testing Your Filter Scheme
Revision History
Index