Various html files used to be included in this directory but they were
beginning to bloat the size of the source tarball so they have been
removed in version 1.24 .

Here are the urls of the files that were previously here plus a brief
summary:

https://sg.danny.cz/sg/sg3_utils.html
    - overview and examples of this package

https://sg.danny.cz/sg/sg_dd.html
    - discussion and examples of the sg_dd utility which is a dd variant
      (also discusses the sgm_dd, sgp_dd and sg_read utilities)

https://sg.danny.cz/sg/sg_ses.html
    - discussion and examples of the sg_ses utility. SCSI Enclosure
      Services (SES) devices may contain a lot of information,
      structured in a non-trivial way.

https://sg.danny.cz/sg/sg_io.html
    - discussion of Linux SG_IO ioctl (SCSI pass-through)

https://sg.danny.cz/sg/tools.html
    - overview of around 25 storage and SCSI tools

Many of those pages are also found at: https://doug-gilbert.github.io/


There are two versions of sg_scan: one for Linux and the other for Windows.
They have different man pages: sg_scan.8.linux and sg_scan.8.win32 with
the Makefile logic (rule in Makefile.am) copying the appropriate one to
sg_scan.8 . sg_scan is not supported for other ports.


Douglas Gilbert
10th June 2022
