<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>The Linux SCSI programming HOWTO</TITLE> <LINK HREF="SCSI-Programming-HOWTO-1.html" REL=next> </HEAD> <BODY> <A HREF="SCSI-Programming-HOWTO-1.html">Next</A> Previous Contents <HR> <H1>The Linux SCSI programming HOWTO</H1> <H2>Heiko Eißfeldt <CODE>heiko@colossus.escape.de</CODE></H2>v1.5, 7 May 1996 <P><HR> <EM>This document deals with programming the Linux generic SCSI interface.</EM> <HR> <P><B>Archived Document Notice:</B> This document has been archived by the LDP because it does not apply to modern Linux systems. It is no longer being actively maintained. <P> <H2><A NAME="toc1">1.</A> <A HREF="SCSI-Programming-HOWTO-1.html">What's New?</A></H2> <P> <H2><A NAME="toc2">2.</A> <A HREF="SCSI-Programming-HOWTO-2.html">Introduction</A></H2> <P> <H2><A NAME="toc3">3.</A> <A HREF="SCSI-Programming-HOWTO-3.html">What Is The Generic SCSI Interface?</A></H2> <P> <H2><A NAME="toc4">4.</A> <A HREF="SCSI-Programming-HOWTO-4.html">What Are The Requirements To Use It?</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-4.html#ss4.1">4.1 Kernel Configuration</A> <LI><A HREF="SCSI-Programming-HOWTO-4.html#ss4.2">4.2 Device Files</A> <LI><A HREF="SCSI-Programming-HOWTO-4.html#ss4.3">4.3 Device Mapping</A> </UL> <P> <H2><A NAME="toc5">5.</A> <A HREF="SCSI-Programming-HOWTO-5.html">Programmers Guide </A></H2> <P> <H2><A NAME="toc6">6.</A> <A HREF="SCSI-Programming-HOWTO-6.html">Overview Of Device Programming</A></H2> <P> <H2><A NAME="toc7">7.</A> <A HREF="SCSI-Programming-HOWTO-7.html">Opening The Device</A></H2> <P> <H2><A NAME="toc8">8.</A> <A HREF="SCSI-Programming-HOWTO-8.html">The Header Structure</A></H2> <P> <H2><A NAME="toc9">9.</A> <A HREF="SCSI-Programming-HOWTO-9.html">Inquiry Command Example</A></H2> <P> <H2><A NAME="toc10">10.</A> <A HREF="SCSI-Programming-HOWTO-10.html">The Sense Buffer</A></H2> <P> <H2><A NAME="toc11">11.</A> <A HREF="SCSI-Programming-HOWTO-11.html">Example Using Sense Buffer</A></H2> <P> <H2><A NAME="toc12">12.</A> <A HREF="SCSI-Programming-HOWTO-12.html">Ioctl Functions</A></H2> <P> <H2><A NAME="toc13">13.</A> <A HREF="SCSI-Programming-HOWTO-13.html">Driver Defaults</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-13.html#ss13.1">13.1 Transfer Lengths</A> <LI><A HREF="SCSI-Programming-HOWTO-13.html#ss13.2">13.2 Timeout And Retry Values</A> </UL> <P> <H2><A NAME="toc14">14.</A> <A HREF="SCSI-Programming-HOWTO-14.html">Obtaining The Scsi Specifications</A></H2> <P> <H2><A NAME="toc15">15.</A> <A HREF="SCSI-Programming-HOWTO-15.html">Related Information Sources</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-15.html#ss15.1">15.1 HOWTOs and FAQs</A> <LI><A HREF="SCSI-Programming-HOWTO-15.html#ss15.2">15.2 Mailing list</A> <LI><A HREF="SCSI-Programming-HOWTO-15.html#ss15.3">15.3 Example code</A> </UL> <P> <H2><A NAME="toc16">16.</A> <A HREF="SCSI-Programming-HOWTO-16.html">Other useful stuff</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-16.html#ss16.1">16.1 Device driver writer helpers</A> <LI><A HREF="SCSI-Programming-HOWTO-16.html#ss16.2">16.2 Utilities</A> </UL> <P> <H2><A NAME="toc17">17.</A> <A HREF="SCSI-Programming-HOWTO-17.html">Other SCSI Access Interfaces</A></H2> <P> <H2><A NAME="toc18">18.</A> <A HREF="SCSI-Programming-HOWTO-18.html">Final Comments</A></H2> <P> <H2><A NAME="toc19">19.</A> <A HREF="SCSI-Programming-HOWTO-19.html">Acknowledgments</A></H2> <H2>Appendix</H2> <P> <H2><A NAME="toc20">20.</A> <A HREF="SCSI-Programming-HOWTO-20.html">Appendix</A></H2> <P> <H2><A NAME="toc21">21.</A> <A HREF="SCSI-Programming-HOWTO-21.html">Error handling</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-21.html#ss21.1">21.1 Error status decoding</A> <LI><A HREF="SCSI-Programming-HOWTO-21.html#ss21.2">21.2 Status codes</A> <LI><A HREF="SCSI-Programming-HOWTO-21.html#ss21.3">21.3 SCSI Sense Keys</A> <LI><A HREF="SCSI-Programming-HOWTO-21.html#ss21.4">21.4 Host codes</A> <LI><A HREF="SCSI-Programming-HOWTO-21.html#ss21.5">21.5 Driver codes</A> </UL> <P> <H2><A NAME="toc22">22.</A> <A HREF="SCSI-Programming-HOWTO-22.html">Additional sense codes and additional sense code qualifiers</A></H2> <UL> <LI><A HREF="SCSI-Programming-HOWTO-22.html#ss22.1">22.1 ASC and ASCQ in lexical order</A> <LI><A HREF="SCSI-Programming-HOWTO-22.html#ss22.2">22.2 ASC and ASCQ in numerical order</A> </UL> <P> <H2><A NAME="toc23">23.</A> <A HREF="SCSI-Programming-HOWTO-23.html">A SCSI command code quick reference</A></H2> <P> <H2><A NAME="toc24">24.</A> <A HREF="SCSI-Programming-HOWTO-24.html">Example programs</A></H2> <HR> <A HREF="SCSI-Programming-HOWTO-1.html">Next</A> Previous Contents </BODY> </HTML>