Introduction to SCSI Architecture Model Device Interface Guide
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.
Organization of This Document
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.
See Also
The ADC Reference Library contains several documents on device driver development for 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.
Audio, FireWire, SCSI, Storage, USB Device Access 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 OS X Developer Tools installation package in
/Developer/Examples/IOKit/scsi
.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 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.
Copyright © 2003, 2007 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2007-02-08