<!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: Programmers Guide </TITLE> <LINK HREF="SCSI-Programming-HOWTO-6.html" REL=next> <LINK HREF="SCSI-Programming-HOWTO-4.html" REL=previous> <LINK HREF="SCSI-Programming-HOWTO.html#toc5" REL=contents> </HEAD> <BODY> <A HREF="SCSI-Programming-HOWTO-6.html">Next</A> <A HREF="SCSI-Programming-HOWTO-4.html">Previous</A> <A HREF="SCSI-Programming-HOWTO.html#toc5">Contents</A> <HR> <H2><A NAME="s5">5. Programmers Guide </A></H2> <P>The following sections are for programmers who want to use the generic SCSI interface in their own applications. An example will be given showing how to access a SCSI device with the INQUIRY and the TESTUNITREADY commands. <P> <P>When using these code examples, note the following: <UL> <LI>the location of the header files <CODE>sg.h</CODE> and <CODE>scsi.h</CODE> has changed in kernel version 1.3.98. Now these files are located at <CODE>/usr/src/linux/include/scsi</CODE>, which is hopefully linked to <CODE>/usr/include/scsi</CODE>. Previously they were in <CODE>/usr/src/linux/drivers/scsi</CODE>. We assume a newer kernel in the following text.</LI> <LI>the generic SCSI interface was extended in kernel version 1.1.68; the examples require at least this version. But please avoid kernel version 1.1.77 up to 1.1.89 and 1.3.52 upto 1.3.56 since they had a broken generic scsi interface.</LI> <LI>the constant DEVICE in the header section describing the accessed device should be set according to your available devices (see section <A HREF="SCSI-Programming-HOWTO-8.html#sec-header">sec-header</A> .</LI> </UL> <P> <HR> <A HREF="SCSI-Programming-HOWTO-6.html">Next</A> <A HREF="SCSI-Programming-HOWTO-4.html">Previous</A> <A HREF="SCSI-Programming-HOWTO.html#toc5">Contents</A> </BODY> </HTML>