The Linux SCSI programming HOWTO
Heiko Eißfeldt
heiko@colossus.escape.de
v1.4, 14 June 1995
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
14.1 HOWTOs and FAQs
14.2 Mailing list
14.3 Example code
15.
Other useful stuff
15.1 Device driver writer helpers
15.2 Utilities
16.
Other SCSI Access Interfaces
17.
Final Comments
18.
Acknowledgments
Appendix
19.
Appendix
20.
Error handling
20.1 Error status decoding
20.2 Status codes
20.3 SCSI Sense Keys
20.4 Hostcodes
20.5 Driver codes
21.
Additional sense codes and additional sense code qualifiers
21.1 ASC and ASCQ in lexical order
21.2 ASC and ASCQ in numerical order
22.
A SCSI command code quick reference
23.
Example programs