Organization of This Document
See Also
The I/O Kit provides a device interface mechanism that allows applications to communicate with and control hardware from outside the kernel. This document describes how to access SCSI devices from applications using the SCSI family device interfaces and the SCSI Architecture Model family device interfaces.
This document contains the following chapters:
“Accessing SCSI Parallel Devices” describes how to use both the SCSI Architecture Model family APIs and the deprecated SCSI family APIs to look up a SCSI Parallel device. It then shows how to access the device using the deprecated SCSI family API. To access a device using the SCSI Architecture Model family API, see “Accessing SCSI Architecture Model Devices.”
“Accessing SCSI Architecture Model Devices” describes how to use the SCSI Architecture Model family device interfaces to access and control devices that conform to the SCSI Architecture Model specifications and declare a peripheral device type other than $00, $05, $07, or $0E. This chapter also contains a section on creating a universal binary version of your device access application.
“Document Revision History” lists the revisions of this document.
The ADC Reference Library contains several documents on device driver development for Mac OS X and numerous sample drivers and applications.
Accessing Hardware From Applications describes various ways to access devices from outside the kernel, including the device interface mechanism provided by the I/O Kit. For an overview of the I/O Kit terms and concepts used in this document, read the chapter Device Access and the I/O Kit.
I/O Kit Framework Reference contains API reference for I/O Kit methods and functions and for specific device families.
Sample Code > Hardware & Drivers > SCSI includes both application-level and in-kernel code samples. Of particular relevancy to this document is the SCSIOldAndNew sample project.
Additional application-level code samples are included as part of the Mac OS X Developer Tools installation package in /Developer/Examples/IOKit/scsi
.
Mac OS X Man Pages provides access to existing reference documentation for BSD and POSIX functions and tools in a convenient HTML format.
The ata-scsi-dev mailing list provides a forum for discussing Mac OS X development related to devices based on ATA and SCSI technology.
If you're ready to create a universal binary version of your SCSI device-access application to run in an Intel-based Macintosh, see Universal Binary Programming Guidelines, Second Edition. The Universal Binary Programming Guidelines describes the differences between the Intel and PowerPC architectures and provides tips for developing a universal binary.
A detailed description of the SCSI Architecture Model specifications is beyond the scope of this document—for more information, see http://t10.org.
© 2003, 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-02-08)