aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2012-12-10 04:59:22 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2012-12-10 04:59:22 +0000
commit59d30db8fe57032c0f469967159af3009eb95faa (patch)
tree4000dc8675100c8a21dff710299de3a85ec20c38 /doc
parenta455114c44be5eb5ef423bb2e39da233589cd0dd (diff)
downloadsg3_utils-59d30db8fe57032c0f469967159af3009eb95faa.tar.gz
sg_compare_and_write: first cut
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@469 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am60
-rw-r--r--doc/Makefile.in101
-rw-r--r--doc/sg_compare_and_write.8120
3 files changed, 217 insertions, 64 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7ed23f7d..f33a66dd 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -11,11 +11,11 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 scsi_logging_level.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_copy_results.8 sg_dd.8 sg_emc_trespass.8 sg_format.8 \
- sg_get_config.8 sg_get_lba_status.8 sg_ident.8 sginfo.8 sg_inq.8 \
- sg_logs.8 sg_luns.8 sg_map26.8 sg_map.8 sgm_dd.8 sg_modes.8 \
- sg_opcodes.8 sgp_dd.8 sg_persist.8 sg_prevent.8 sg_raw.8 sg_rbuf.8 \
- sg_rdac.8 sg_read.8 sg_readcap.8 sg_read_block_limits.8 \
+ sg_compare_and_write.8 sg_copy_results.8 sg_dd.8 sg_emc_trespass.8 \
+ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 sginfo.8 \
+ sg_inq.8 sg_logs.8 sg_luns.8 sg_map26.8 sg_map.8 sgm_dd.8 \
+ sg_modes.8 sg_opcodes.8 sgp_dd.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+ sg_rbuf.8 sg_rdac.8 sg_read.8 sg_readcap.8 sg_read_block_limits.8 \
sg_read_buffer.8 sg_read_long.8 sg_reassign.8 sg_referrals.8 \
sg_requests.8 sg_reset.8 sg_rmsn.8 sg_rtpg.8 sg_safte.8 \
sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
@@ -39,15 +39,16 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
- sg_inq.8 sg_logs.8 sg_luns.8 sg_modes.8 sg_opcodes.8 sg_persist.8 \
- sg_prevent.8 sg_raw.8 sg_rdac.8 sg_readcap.8 \
- sg_read_block_limits.8 sg_read_buffer.8 sg_read_long.8 \
- sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 sg_rtpg.8 \
- sg_safte.8 sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
- sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 sg_ses.8 sg_start.8 \
- sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 sg_verify.8 sg_vpd.8 \
- sg_write_buffer.8 sg_write_long.8 sg_write_same.8 sg_wr_mode.8
+ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
+ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
+ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
+ sg_rtpg.8 sg_safte.8 sg_sanitize.8 sg_sat_identify.8 \
+ sg_sat_phy_event.8 sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 \
+ sg_ses.8 sg_start.8 sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 \
+ sg_verify.8 sg_vpd.8 sg_write_buffer.8 sg_write_long.8 \
+ sg_write_same.8 sg_wr_mode.8
distclean-local:
rm -f sg_scan.8
@@ -64,15 +65,16 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
- sg_inq.8 sg_logs.8 sg_luns.8 sg_modes.8 sg_opcodes.8 \
- sg_persist.8 sg_prevent.8 sg_raw.8 sg_rdac.8 sg_readcap.8 \
- sg_read_block_limits.8 sg_read_buffer.8 sg_read_long.8 \
- sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 sg_rtpg.8 \
- sg_safte.8 sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
- sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 sg_ses.8 sg_start.8 \
- sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 sg_verify.8 sg_vpd.8 \
- sg_write_buffer.8 sg_write_long.8 sg_write_same.8 sg_wr_mode.8
+ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
+ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
+ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
+ sg_rtpg.8 sg_safte.8 sg_sanitize.8 sg_sat_identify.8 \
+ sg_sat_phy_event.8 sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 \
+ sg_ses.8 sg_start.8 sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 \
+ sg_verify.8 sg_vpd.8 sg_write_buffer.8 sg_write_long.8 \
+ sg_write_same.8 sg_wr_mode.8
distclean-local:
rm -f sg_scan.8
@@ -89,8 +91,8 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
- sg_inq.8 sg_logs.8 sg_luns.8 \
+ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
@@ -109,8 +111,8 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
- sg_inq.8 sg_logs.8 sg_luns.8 \
+ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
@@ -129,8 +131,8 @@ man_MANS = \
sg3_utils.8 sg_decode_sense.8 \
scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
scsi_start.8 scsi_stop.8 scsi_temperature.8 \
- sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
- sg_inq.8 sg_logs.8 sg_luns.8 \
+ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 198c1af2..4406fd1c 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -15,6 +15,23 @@
@SET_MAKE@
VPATH = @srcdir@
+am__make_dryrun = \
+ { \
+ am__dry=no; \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
+ | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+ *) \
+ for am__flg in $$MAKEFLAGS; do \
+ case $$am__flg in \
+ *=*|--*) ;; \
+ *n*) am__dry=yes; break;; \
+ esac; \
+ done;; \
+ esac; \
+ test $$am__dry = yes; \
+ }
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -45,6 +62,11 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@@ -197,8 +219,8 @@ top_srcdir = @top_srcdir@
@OS_FREEBSD_TRUE@ sg3_utils.8 sg_decode_sense.8 \
@OS_FREEBSD_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_FREEBSD_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_FREEBSD_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
-@OS_FREEBSD_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 \
+@OS_FREEBSD_TRUE@ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+@OS_FREEBSD_TRUE@ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
@OS_FREEBSD_TRUE@ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
@OS_FREEBSD_TRUE@ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
@OS_FREEBSD_TRUE@ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
@@ -218,11 +240,11 @@ top_srcdir = @top_srcdir@
@OS_LINUX_TRUE@ sg3_utils.8 sg_decode_sense.8 scsi_logging_level.8 \
@OS_LINUX_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_LINUX_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_LINUX_TRUE@ sg_copy_results.8 sg_dd.8 sg_emc_trespass.8 sg_format.8 \
-@OS_LINUX_TRUE@ sg_get_config.8 sg_get_lba_status.8 sg_ident.8 sginfo.8 sg_inq.8 \
-@OS_LINUX_TRUE@ sg_logs.8 sg_luns.8 sg_map26.8 sg_map.8 sgm_dd.8 sg_modes.8 \
-@OS_LINUX_TRUE@ sg_opcodes.8 sgp_dd.8 sg_persist.8 sg_prevent.8 sg_raw.8 sg_rbuf.8 \
-@OS_LINUX_TRUE@ sg_rdac.8 sg_read.8 sg_readcap.8 sg_read_block_limits.8 \
+@OS_LINUX_TRUE@ sg_compare_and_write.8 sg_copy_results.8 sg_dd.8 sg_emc_trespass.8 \
+@OS_LINUX_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 sginfo.8 \
+@OS_LINUX_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 sg_map26.8 sg_map.8 sgm_dd.8 \
+@OS_LINUX_TRUE@ sg_modes.8 sg_opcodes.8 sgp_dd.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+@OS_LINUX_TRUE@ sg_rbuf.8 sg_rdac.8 sg_read.8 sg_readcap.8 sg_read_block_limits.8 \
@OS_LINUX_TRUE@ sg_read_buffer.8 sg_read_long.8 sg_reassign.8 sg_referrals.8 \
@OS_LINUX_TRUE@ sg_requests.8 sg_reset.8 sg_rmsn.8 sg_rtpg.8 sg_safte.8 \
@OS_LINUX_TRUE@ sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
@@ -235,8 +257,8 @@ top_srcdir = @top_srcdir@
@OS_OSF_TRUE@ sg3_utils.8 sg_decode_sense.8 \
@OS_OSF_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_OSF_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_OSF_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
-@OS_OSF_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 \
+@OS_OSF_TRUE@ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+@OS_OSF_TRUE@ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
@OS_OSF_TRUE@ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
@OS_OSF_TRUE@ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
@OS_OSF_TRUE@ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
@@ -250,8 +272,8 @@ top_srcdir = @top_srcdir@
@OS_SOLARIS_TRUE@ sg3_utils.8 sg_decode_sense.8 \
@OS_SOLARIS_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_SOLARIS_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_SOLARIS_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
-@OS_SOLARIS_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 \
+@OS_SOLARIS_TRUE@ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+@OS_SOLARIS_TRUE@ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
@OS_SOLARIS_TRUE@ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
@OS_SOLARIS_TRUE@ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
@OS_SOLARIS_TRUE@ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
@@ -265,29 +287,31 @@ top_srcdir = @top_srcdir@
@OS_WIN32_CYGWIN_TRUE@ sg3_utils.8 sg_decode_sense.8 \
@OS_WIN32_CYGWIN_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_WIN32_CYGWIN_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 sg_modes.8 sg_opcodes.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_persist.8 sg_prevent.8 sg_raw.8 sg_rdac.8 sg_readcap.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_read_block_limits.8 sg_read_buffer.8 sg_read_long.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 sg_rtpg.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_safte.8 sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 sg_ses.8 sg_start.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 sg_verify.8 sg_vpd.8 \
-@OS_WIN32_CYGWIN_TRUE@ sg_write_buffer.8 sg_write_long.8 sg_write_same.8 sg_wr_mode.8
+@OS_WIN32_CYGWIN_TRUE@ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_rtpg.8 sg_safte.8 sg_sanitize.8 sg_sat_identify.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_sat_phy_event.8 sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_ses.8 sg_start.8 sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_verify.8 sg_vpd.8 sg_write_buffer.8 sg_write_long.8 \
+@OS_WIN32_CYGWIN_TRUE@ sg_write_same.8 sg_wr_mode.8
@OS_WIN32_MINGW_TRUE@man_MANS = \
@OS_WIN32_MINGW_TRUE@ sg3_utils.8 sg_decode_sense.8 \
@OS_WIN32_MINGW_TRUE@ scsi_mandat.8 scsi_readcap.8 scsi_ready.8 scsi_satl.8 \
@OS_WIN32_MINGW_TRUE@ scsi_start.8 scsi_stop.8 scsi_temperature.8 \
-@OS_WIN32_MINGW_TRUE@ sg_format.8 sg_get_config.8 sg_get_lba_status.8 sg_ident.8 \
-@OS_WIN32_MINGW_TRUE@ sg_inq.8 sg_logs.8 sg_luns.8 sg_modes.8 sg_opcodes.8 sg_persist.8 \
-@OS_WIN32_MINGW_TRUE@ sg_prevent.8 sg_raw.8 sg_rdac.8 sg_readcap.8 \
-@OS_WIN32_MINGW_TRUE@ sg_read_block_limits.8 sg_read_buffer.8 sg_read_long.8 \
-@OS_WIN32_MINGW_TRUE@ sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 sg_rtpg.8 \
-@OS_WIN32_MINGW_TRUE@ sg_safte.8 sg_sanitize.8 sg_sat_identify.8 sg_sat_phy_event.8 \
-@OS_WIN32_MINGW_TRUE@ sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 sg_ses.8 sg_start.8 \
-@OS_WIN32_MINGW_TRUE@ sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 sg_verify.8 sg_vpd.8 \
-@OS_WIN32_MINGW_TRUE@ sg_write_buffer.8 sg_write_long.8 sg_write_same.8 sg_wr_mode.8
+@OS_WIN32_MINGW_TRUE@ sg_compare_and_write.8 sg_format.8 sg_get_config.8 \
+@OS_WIN32_MINGW_TRUE@ sg_get_lba_status.8 sg_ident.8 sg_inq.8 sg_logs.8 sg_luns.8 \
+@OS_WIN32_MINGW_TRUE@ sg_modes.8 sg_opcodes.8 sg_persist.8 sg_prevent.8 sg_raw.8 \
+@OS_WIN32_MINGW_TRUE@ sg_rdac.8 sg_readcap.8 sg_read_block_limits.8 sg_read_buffer.8 \
+@OS_WIN32_MINGW_TRUE@ sg_read_long.8 sg_reassign.8 sg_referrals.8 sg_requests.8 sg_rmsn.8 \
+@OS_WIN32_MINGW_TRUE@ sg_rtpg.8 sg_safte.8 sg_sanitize.8 sg_sat_identify.8 \
+@OS_WIN32_MINGW_TRUE@ sg_sat_phy_event.8 sg_sat_set_features.8 sg_scan.8 sg_senddiag.8 \
+@OS_WIN32_MINGW_TRUE@ sg_ses.8 sg_start.8 sg_stpg.8 sg_sync.8 sg_turs.8 sg_unmap.8 \
+@OS_WIN32_MINGW_TRUE@ sg_verify.8 sg_vpd.8 sg_write_buffer.8 sg_write_long.8 \
+@OS_WIN32_MINGW_TRUE@ sg_write_same.8 sg_wr_mode.8
all: all-am
@@ -330,11 +354,18 @@ clean-libtool:
-rm -rf .libs _libs
install-man8: $(man_MANS)
@$(NORMAL_INSTALL)
- test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
- @list=''; test -n "$(man8dir)" || exit 0; \
- { for i in $$list; do echo "$$i"; done; \
- l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
- sed -n '/\.8[a-z]*$$/p'; \
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man8dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.8[a-z]*$$/p'; \
+ fi; \
} | while read p; do \
if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; echo "$$p"; \
diff --git a/doc/sg_compare_and_write.8 b/doc/sg_compare_and_write.8
new file mode 100644
index 00000000..0a259346
--- /dev/null
+++ b/doc/sg_compare_and_write.8
@@ -0,0 +1,120 @@
+.TH "COMPARE AND WRITE" "8" "December 2012" "sg3_utils\-1.35" SG3_UTILS
+.SH NAME
+sg_compare_and_write \- send the SCSI COMPARE AND WRITE command
+.SH SYNOPSIS
+.B sg_compare_and_write
+[\fI\-\-dpo\fR] [\fI\-\-fua\fR] [\fI\-\-fua_nv\fR] [\fI\-\-help\fR]
+\fI\-\-in=IF\fR \fI\-\-lba=LBA\fR [\fI\-\-num=NUM\fR] [\fI\-\-timeout=TO\fR]
+[\fI\-\-verbose\fR] [\fI\-\-version\fR] [\fI\-\-wrprotect=WP\fR]
+[\fI\-\-xferlen=LEN\fR] \fIDEVICE\fR
+.SH DESCRIPTION
+.\" Add any additional description here
+Send the SCSI COMPARE AND WRITE command to \fIDEVICE\fR. This command receives
+a data buffer which contains a verify instance and a write instance each
+containing \fInum\fR blocks, the \fIDEVICE\fR will read \fInum\fR blocks
+starting at logical block address \fILBA\fR, compare the data read from
+the specified blocks to the verify instance and if they match, write the write
+instance to the \fIDEVICE\fR at the same logical block address \fILBA\fR.
+All of the above operations shall be performed as an uninteruppted series of
+actions.
+.PP
+The data buffer which contains the verify and write instances are obtained
+from the input file \fIIF\fR, this file is expected to be 2*\fInum\fR blocks
+long. If \fIbs\fR is not specified, then READ CAPACITY(10) is used to
+determine the block size. If not specified, the transfer size will be the
+2*\fInum\fR blocks.
+.PP
+In case of a mismatch between the blocks read from \fIDEVICE\fR and the verify
+instance in the data buffer, a check condition will be returned with sense key
+set to miscompare.
+.SH OPTIONS
+Arguments to long options are mandatory for short options as well.
+The options are arranged in alphabetical order based on the long option name.
+.TP
+\fB\-d\fR, \fB\-\-dpo\fR
+Set the DPO bit in the COMPARE AND WRITE CDB
+.TP
+\fB\-f\fR, \fB\-\-fua\fR
+Set the FUA bit in the COMPARE AND WRITE CDB
+.TP
+\fB\-F\fR, \fB\-\-fua_nv\fR
+Set the FUA_NV bit in the COMPARE AND WRITE CDB
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+output the usage message then exit.
+.TP
+\fB\-i\fR, \fB\-\-in\fR=\fIIF\fR
+read data (binary) from file named \fIIF\fR and use it as the data out
+buffer for the SCSI COMPARE AND WRITE command. The \fIIF\fR shall be at
+2*\fINUM\fR blocks.
+.TP
+\fB\-l\fR, \fB\-\-lba\fR=\fILBA\fR
+where \fILBA\fR is the logical block address to start the COMPARE AND WRITE command.
+Assumed to be in decimal unless prefixed with '0x' or has a trailing 'h'.
+.TP
+\fB\-n\fR, \fB\-\-num\fR=\fINUM\fR
+where \fINUM\fR is the number of blocks, starting at \fILBA\fR, to read
+and compare with the verify instance. And given a match, the \fINUM\fR of
+blocks to write starting \fILBA\fR. The default value for \fINUM\fR is 1.
+.TP
+\fB\-t\fR, \fB\-\-timeout\fR=\fITO\fR
+where \fITO\fR is the command timeout value in seconds. The default value is
+60 seconds. If \fINUM\fR is large (or zero) a WRITE SAME command may require
+considerably more time than 60 seconds to complete.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+increase the degree of verbosity (debug messages).
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+output version string then exit.
+.TP
+\fB\-w\fR, \fB\-\-wrprotect\fR=\fIWP\fR
+set the WRPROTECT field in the cdb to \fIWP\fR. The default value is 0 which
+implies no protection information is sent (along with the user data) by this
+utility.
+.TP
+\fB\-x\fR, \fB\-\-xferlen\fR=\fILEN\fR
+where \fILEN\fR is the data out buffer length. Defaults to 2*\fINUM\fR blocks.
+.SH NOTES
+Various numeric arguments (e.g. \fILBA\fR) may include multiplicative
+suffixes or be given in hexadecimal. See the "NUMERIC ARGUMENTS" section
+in the sg3_utils(8) man page.
+.SH EXIT STATUS
+The exit status of sg_compare_and_write is 0 when it is successful. Otherwise
+see the sg3_utils(8) man page.
+.SH AUTHORS
+Written by Shahar Salzman.
+.SH "REPORTING BUGS"
+Report bugs to shahar.salzman@kaminario.com
+.SH COPYRIGHT
+Copyright \(co 2012 Kaminario Technologies LTD
+
+.br
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+.br
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+.br
+* Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+.br
+* Neither the name of the <organization> nor the names of its contributors may
+be used to endorse or promote products derived from this software without
+specific prior written permission.
+
+.br
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+.SH "SEE ALSO"
+.B sg_xcopy, sg_receive_copy_results(sg3_utils)