                        Command coverage
                        ================
The following table lists SCSI commands in alphabetical order on the
left and the sg3_utils (or related) utilities that implement invocations
of them on the right. The second table lists supported ATA commands.

SCSI command        sg3_utils utilities that use this SCSI command
------------        -------------------------------------------------
ATA COMMAND PASS-THROUGH(16)  sg_sat_identify, sg_sat_set_features,
                    sg_sat_phy_event, sg_sat_read_gplog ++
                    [sg_sat_chk_power, sg__sat_identify,
                     sg__sat_set_features, sg_sat_smart_rd_data
                     (previous four in the examples directory)]
ATA COMMAND PASS-THROUGH(12)  sg_sat_identify, ++
CLOSE ZONE          sg_zone
COMPARE AND WRITE   sg_compare_and_write
COPY OPERATION ABORT    ddptctl, ++
EXTENDED COPY(LID1)    sg_xcopy, ddpt, ++
GET CONFIGURATION   sg_get_config, ++
GET LBA STATUS      sg_get_lba_status, ++
INQUIRY             sg_dd, sg_format, sg_inq, sginfo,
                    sg_logs, sg_map('-i'), sg_modes, sg_opcodes,
                    sg_persist, sg_scan, sg_ses, sg_vpd ++
FINISH ZONE         sg_zone
FORMAT MEDIUM       sg_format, ++ [SSC]
FORMAT UNIT         sg_format, ++ [SBC]
LOG SELECT          sg_logs('-r' or '-select'), ++
LOG SENSE           sg_logs, ++
MODE SELECT(6)      sdparm, sg_wr_mode, sginfo, sg_format,
                    sg_emc_trespass, sg_rdac, ++
MODE SELECT(10)     sdparm, sg_wr_mode, sginfo, sg_format,
                    sg_emc_trespass, sg_rdac, ++
MODE SENSE(6)       sdparm, sg_modes, sg_wr_mode, sginfo, sg_format,
                    sg_senddiag('-e'), sg_rdac, ++
MODE SENSE(10)      sdparm, sg_modes, sg_wr_mode, sginfo, sg_format,
                    sg_senddiag('-e'), sg_rdac, ++
OPEN ZONE           sg_zone
PERSISTENT RESERVE IN       sg_persist, ++
PERSISTENT RESERVE OUT      sg_persist, ++
POPULATE TOKEN      ddpt, ddptctl, ++
PREVENT ALLOW MEDIUM REMOVAL        sg_prevent, ++
READ(6)             sg_dd, sgm_dd, sgp_dd, sg_read
READ(10)            sg_dd, sgm_dd, sgp_dd, sg_read
READ(12)            sg_dd, sgm_dd, sgp_dd, sg_read
READ(16)            sg_dd, sgm_dd, sgp_dd, sg_read
READ ATTRUBUTE      sg_read_attr
READ BLOCK LIMITS   sg_read_block_limits, ++
READ BUFFER(10)     sg_rbuf, sg_test_rwbuf, sg_read_buffer, sg_safte, ++
READ BUFFER(16)     sg_read_buffer
READ CAPACITY(10)   sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++
READ CAPACITY(16)   sg_readcap, sg_dd, sgm_dd, sgp_dd, sg_format, ++
READ DEFECT(10)     sginfo('-d' or '-G'), sg_reassign('-g'), smartmontools, ++
READ DEFECT(12)     sginfo('-d' or '-G'), smartmontools
READ LONG(10)       sg_read_long, sg_dd, ++
READ LONG(16)       sg_read_long, ++
READ MEDIA SERIAL NUMBER     sg_rmsn, ++
REASSIGN BLOCKS     sg_reassign, ++
RECEIVE COPY DATA(LID1)    sg_copy_results, ++
RECEIVE COPY FAILURE DETAILS(LID1)    sg_copy_results, ++
RECEIVE COPY OPERATING PARAMETERS    ddpt, sg_copy_results, sg_xcopy, ++
RECEIVE COPY STATUS(LID1)    sg_copy_results, ++
RECEIVE DIAGNOSTIC RESULTS  sg_senddiag, sg_ses, sg_ses_microcode ++
RECEIVE ROD TOKEN INFORMATION    ddpt, ddptctl ++
REPORT ALL ROD TOKENS    ddptctl ++
REPORT IDENTIFYING INFORMATION  sg_ident, ++ (2)
REPORT LUNS         sg_luns, ++
REPORT REFERRALS    sg_referrals, ++
REPORT SUPPORTED OPERATION CODES              sg_opcodes
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS    sg_opcodes
REPORT TARGET PORT GROUPS       sg_rtpg, sg_stpg ++
REPORT TIMESTAMP    sg_timestamp
REPORT ZONES        sg_rep_zones
REQUEST SENSE       sg_requests, ++
RESET WRITE POINTER sg_reset_wp
SANITIZE            sg_sanitize
SEND DIAGNOSTIC     sg_senddiag, sg_ses, sg_ses_microcode ++
SET IDENTIFYING INFORMATION  sg_ident, ++ (3)
SET TARGET PORT GROUPS       sg_stpg, ++
SET TIMESTAMP       sg_timestamp
START STOP          sg_start, ++
SYNCHRONIZE CACHE(10)   sg_sync, sg_dd, sgm_dd, sgp_dd, ++
SYNCHRONIZE CACHE(16)   sg_sync++
TEST UNIT READY     sg_turs, sg_format, ++
UNMAP               sg_unmap, ++
VERIFY(10)          sg_verify, ++
VERIFY(16)          sg_verify, ++
WRITE(6)            sg_dd, sgm_dd, sgp_dd
WRITE(10)           sg_dd, sgm_dd, sgp_dd
WRITE(12)           sg_dd, sgm_dd, sgp_dd
WRITE(16)           sg_dd, sgm_dd, sgp_dd
WRITE AND VERIFY(10)      sg_write_verify
WRITE AND VERIFY(16)      sg_write_verify
WRITE ATOMIC(16)    ddpt
WRITE BUFFER        sg_test_rwbuf, sg_write_buffer, ++
WRITE LONG(10)      sg_write_long, ++
WRITE LONG(16)      sg_write_long, ++
WRITE SAME(10)      sg_write_same
WRITE SAME(16)      sg_write_same
WRITE SAME(32)      sg_write_same
WRITE USING TOKEN   ddpt, ddptctl, ++
<most commands>     sg_raw



ATA command         sg3_utils utilities that use this SCSI command
-----------         ----------------------------------------------
CHECK POWER MODE    examples/sg_sat_chk_power
IDENTIFY DEVICE     sg_inq, sg_scan, sg_sat_identify,
                    examples/sg__sat_identify
IDENTIFY PACKET DEVICE     sg_inq, sg_sat_identify,
                    examples/sg__sat_identify
READ LOG EXT        sg_sat_phy_event, examples/sg__sat_phy_event
                    sg_sat_read_gplog
READ LOG DMA EXT    sg_sat_read_gplog
SET FEATURES        sg_sat_set_features
                    examples/sg__sat_set_features
SMART READ DATA     examples/sg_sat_smart_rd_data


++  command wrapper found in sg_cmds_basic.c, sg_cmds_mmc.c  or
    sg_cmds_extra.c for this command
(2) this command was known as REPORT DEVICE IDENTIFIER prior to spc4r07
(3) this command was known as SET DEVICE IDENTIFIER prior to spc4r07

Note that any SCSI command, including bi-directional and variable length
commands (whose cdb size is > 16 bytes) can be issued by the sg_raw utility.

The RECEIVE COPY * commands in SPC-4 were grouped as one command name
with 4 service actions in SPC-3 and earlier. The single SPC-3 command
name is RECEIVE COPY RESULTS. The two opcodes associated with all
EXTENDED COPY commands are now known as THIRD PARTY COPY IN (0x84) and
THIRD PARTY COPY IN (0x83).


Douglas Gilbert
8th February 2016
