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