This archive directory contains programs the use the Linux SCSI
subsystem and typically use the SCSI generic interface (sg) as
well.

The programs in this directory are fully functional but have been
"retired" from the main sg_utils directory most likely because
their functionality is done in another (perhaps better) way.

"sg_poll" demonstrates the use of asynchronous notification (and the
poll() command). It also purposely does a premature close of the
sg device while there are outstanding packets (or soon will be) to
read. The enhanced sg device driver copes with this situation gracefully
(as long as you don't do a forced 'rmmod sg' before the packets are cast
away).

"sg_reset" exercises the SCSI device/bus/host reset capability. It is
supported by the sg driver in lk 2.2.16 and beyond but associated
SCSI middle level driver changes have not been accepted into the
standard kernel at this time. Some distributions contain the patch to
the mid-level that activates this feature. Due to this uncertainty
the source is placed in the "archive" directory.

"sg_inquiry" and "sg_tst_med" are taken from the original SCSI Programming
HOWTO written by Heiko Eissfeldt (version 1.5) and dated 7th May 1996.
They are meant to demonstrate backward compatibility and are not
recommended to use as design templates. Better to look at "sg_simple1"
and "sg_simple2".

The last time I checked these programs compiled and built and
didn't depend on too many other things (see the Makefile in the
parent directory for ideas).

Since I actively use some of these programs for testing, a Makefile has
been set up which builds:
    - sg_reset [does SCSI bus/device/host resets if mid level SCSI patch
                in place]
    - sg_poll  [internal testing]
    - isosize  available in util-linux-2.10s and later

Doug Gilbert
23rd Decmber 2001
