blob: 6ebd0262ec6cd0afeee834782944dfb3aae71433 [file] [log] [blame]
Introduction
============
The Tru64 port of sg3_utils contains those utilities that are _not_
specific to Linux. In some cases a utility could be ported but
requires more work. An example is sg_dd which needs more work
beyond the SCSI command pass through mechanism.
Supported Utilities
===================
Here is a list of utilities that have been ported:
sg_compare_and_write
sg_decode_sense
sg_format
sg_get_config
sg_get_lba_status
sg_ident
sg_inq [dropped ATA IDENTIFY DEVICE capability]
sg_logs
sg_luns
sg_modes
sg_opcodes
sg_persist
sg_prevent
sg_raw
sg_rdac
sg_read_block_limits
sg_read_buffer
sg_read_long
sg_readcap
sg_reassign
sg_referrals
sg_requests
sg_rmsn
sg_rtpg
sg_safte
sg_sanitize
sg_sat_identify
sg_sat_phy_event
sg_sat_set_features
sg_senddiag
sg_ses
sg_start
sg_stpg
sg_sync
sg_turs
sg_unmap
sg_verify
sg_vpd
sg_wr_mode
sg_write_buffer
sg_write_long
sg_write_same
Most utility names are indicative of the main SCSI command
that they execute. Some utilities are slightly higher level, for
example sg_ses fetches SCSI Enclosure Services (SES) status pages and
can send control pages. Each utility has a man page (placed in
section 8). An overview of sg3_utils can be found at:
http://sg.danny.cz/sg/sg3_utils.html .
A copy of the "sg3_utils.html" file is in the "doc" subdirectory.
This package uses autotools infrastructure with the now common
"./configure ; make ; make install" sequence needed to build and install
from the source found in the tarball. If the "./configure" sequence
fails try using the ./autogen.sh prior to that sequence.
Some man pages have examples which use Linux device names which hopefully
will not confuse Tru64 users.
Details
=======
Most of the ported utilities listed above use SCSI command functions
declared in sg_cmds_*.h headers . Those SCSI command functions are
implemented in the corresponding ".c" files. The ".c" files pass SCSI
commands to the host operating system via an interface declared in sg_pt.h .
There are currently five implementations of that interface depending on
the host operating system:
system:
- sg_pt_linux.c
- sg_pt_osf1.c [Tru64]
- sg_pt_freebsd.c
- sg_pt_solaris.c
- sg_pt_win32.c
The sg_pt_osf1.c file uses the Tru64 CAM SCSI pass through mechanism.
Tru64 does not have general library support for "long" options
(e.g. "--verbose") which are used extensively by most of the
utilities in this package. Rather than change all the utilities
and their man/web pages a local implementation of the missing
function "getopt_long()" has been placed in the "getopt_long"
subdirectory. Currently only the Tru64 port uses it.
Douglas Gilbert
14th January 2013