| 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 |