GENERIC SCSI INTERFACE PROGRAMMING HOWTO
Heiko Eißfeldt
heiko@colossus.escape.de
This document deals with programming the Linux generic SCSI interface.
1.
Introduction
2.
What Is The Generic SCSI Interface?
3.
What Are The Requirements To Use It?
3.1 Kernel Configuration
3.2 Device Files
3.3 Device Mapping
4.
Programmers Guide
5.
Overview Of Device Programming
6.
Opening The Device
7.
The Header Structure
8.
Inquiry Command Example
9.
The Sense Buffer
10.
Example Using Sense Buffer
11.
Ioctl Functions
12.
Driver Defaults
12.1 Transfer Lengths
12.2 Timeout And Retry Values
13.
Obtaining The Scsi Specifications
14.
Related Information Sources
15.
Other SCSI Access Interfaces
16.
Final Comments
17.
Acknowledgments
Appendix
18.
Appendix
19.
Error handling
19.1 Error status decoding
19.2 Status codes
19.3 SCSI Sense Keys
19.4 Hostcodes
20.
Additional sense codes and additional sense code qualifiers
20.1 ASC and ASCQ in lexical order
20.2 ASC and ASCQ in numerical order
21.
A SCSI command code quick reference