98 lines
2.8 KiB
Plaintext
98 lines
2.8 KiB
Plaintext
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:
|
|
https://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
|