aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--examples/bsg_queue_tst.c12
-rw-r--r--examples/scsi_inquiry.c8
-rw-r--r--examples/sg__sat_identify.c22
-rw-r--r--examples/sg__sat_phy_event.c26
-rw-r--r--examples/sg__sat_set_features.c28
-rw-r--r--examples/sg_excl.c14
-rw-r--r--examples/sg_queue_tst.c14
-rw-r--r--examples/sg_sat_chk_power.c16
-rw-r--r--examples/sg_sat_smart_rd_data.c26
-rw-r--r--examples/sg_simple1.c14
-rw-r--r--examples/sg_simple16.c8
-rw-r--r--examples/sg_simple2.c18
-rw-r--r--examples/sg_simple3.c16
-rw-r--r--examples/sg_simple4.c16
-rw-r--r--examples/sg_simple5.c10
-rw-r--r--examples/sgq_dd.c8
-rw-r--r--lib/sg_cmds_basic.c155
-rw-r--r--lib/sg_cmds_basic2.c293
-rw-r--r--lib/sg_cmds_extra.c735
-rw-r--r--lib/sg_cmds_mmc.c61
-rw-r--r--lib/sg_lib_data.c2
-rw-r--r--src/sg_format.c16
-rw-r--r--src/sg_inq.c12
-rw-r--r--src/sg_opcodes.c28
-rw-r--r--src/sg_rbuf.c32
-rw-r--r--src/sg_read_attr.c22
-rw-r--r--src/sg_rep_zones.c16
-rw-r--r--src/sg_reset_wp.c12
-rw-r--r--src/sg_sanitize.c28
-rw-r--r--src/sg_sat_identify.c40
-rw-r--r--src/sg_sat_phy_event.c44
-rw-r--r--src/sg_sat_read_gplog.c36
-rw-r--r--src/sg_sat_set_features.c48
-rw-r--r--src/sg_scan_linux.c10
-rw-r--r--src/sg_sync.c18
-rw-r--r--src/sg_test_rwbuf.c46
-rw-r--r--src/sg_timestamp.c18
-rw-r--r--src/sg_turs.c43
-rw-r--r--src/sg_vpd.c14
-rw-r--r--src/sg_write_buffer.c20
-rw-r--r--src/sg_write_same.c72
-rw-r--r--src/sg_zone.c16
43 files changed, 1015 insertions, 1080 deletions
diff --git a/ChangeLog b/ChangeLog
index 6de2e092..f331e8b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,7 @@ Each utility has its own version number, date of last change and
some description at the top of its ".c" file. All utilities in the main
directory have their own "man" pages. There is also a sg3_utils man page.
-Changelog for sg3_utils-1.43 [20160525] [svn: r708]
+Changelog for sg3_utils-1.43 [20160528] [svn: r708]
- sg_bg_ctl: new Background control command (spc4r08)
- sg_senddiag: add --timeout=SEC option
- sg_sanitize: add --timeout=SEC option
diff --git a/examples/bsg_queue_tst.c b/examples/bsg_queue_tst.c
index ae7e3d00..af9ccff0 100644
--- a/examples/bsg_queue_tst.c
+++ b/examples/bsg_queue_tst.c
@@ -52,9 +52,9 @@
int main(int argc, char * argv[])
{
int bsg_fd, k, ok;
- unsigned char inqCmdBlk[INQ_CMD_LEN] =
+ unsigned char inq_cdb[INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char sdiagCmdBlk[SDIAG_CMD_LEN] =
+ unsigned char sdiag_cdb[SDIAG_CMD_LEN] =
{0x1d, 0, 0, 0, 0, 0};
unsigned char inqBuff[16][INQ_REPLY_LEN];
struct sg_io_v4 io_hdr[16];
@@ -100,11 +100,11 @@ int main(int argc, char * argv[])
io_hdr[k].guard = 'Q';
/* io_hdr[k].iovec_count = 0; */ /* memset takes care of this */
if (0 == (k % 3)) {
- io_hdr[k].request_len = sizeof(sdiagCmdBlk);
- io_hdr[k].request = (uint64_t)(long)sdiagCmdBlk;
+ io_hdr[k].request_len = sizeof(sdiag_cdb);
+ io_hdr[k].request = (uint64_t)(long)sdiag_cdb;
} else {
- io_hdr[k].request_len = sizeof(inqCmdBlk);
- io_hdr[k].request = (uint64_t)(long)inqCmdBlk;
+ io_hdr[k].request_len = sizeof(inq_cdb);
+ io_hdr[k].request = (uint64_t)(long)inq_cdb;
io_hdr[k].din_xfer_len = INQ_REPLY_LEN;
io_hdr[k].din_xferp = (uint64_t)(long)inqBuff[k];
}
diff --git a/examples/scsi_inquiry.c b/examples/scsi_inquiry.c
index 80222950..32fe74d6 100644
--- a/examples/scsi_inquiry.c
+++ b/examples/scsi_inquiry.c
@@ -26,7 +26,7 @@
this is a good idea on a disk while it is mounted is debatable.
No detrimental effects when this was tested ...]
-Version 0.14 20011218
+Version 0.15 20160528
*/
@@ -51,10 +51,10 @@ typedef struct my_scsi_ioctl_command {
int main(int argc, char * argv[])
{
int s_fd, res, k, to;
- unsigned char inqCmdBlk [INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0,
+ unsigned char inq_cdb [INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0,
INQUIRY_REPLY_LEN, 0};
unsigned char * inqBuff = (unsigned char *)
- malloc(OFF + sizeof(inqCmdBlk) + 512);
+ malloc(OFF + sizeof(inq_cdb) + 512);
unsigned char * buffp = inqBuff + OFF;
My_Scsi_Ioctl_Command * ishp = (My_Scsi_Ioctl_Command *)inqBuff;
char * file_name = 0;
@@ -107,7 +107,7 @@ int main(int argc, char * argv[])
ishp->inlen = 0;
ishp->outlen = INQUIRY_REPLY_LEN;
- memcpy(buffp, inqCmdBlk, INQUIRY_CMDLEN);
+ memcpy(buffp, inq_cdb, INQUIRY_CMDLEN);
res = ioctl(s_fd, SCSI_IOCTL_SEND_COMMAND, inqBuff);
if (0 == res) {
to = (int)*(buffp + 7);
diff --git a/examples/sg__sat_identify.c b/examples/sg__sat_identify.c
index 06ecfe6f..79c2a3a9 100644
--- a/examples/sg__sat_identify.c
+++ b/examples/sg__sat_identify.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2007 Douglas Gilbert.
+ * Copyright (c) 2006-2016 Douglas Gilbert.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -64,7 +64,7 @@
#define EBUFF_SZ 256
-static char * version_str = "1.02 20070130";
+static char * version_str = "1.03 20160528";
static void usage()
{
@@ -81,7 +81,7 @@ static void usage()
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
sg_io_hdr_t io_hdr;
@@ -138,28 +138,28 @@ int main(int argc, char * argv[])
}
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[6] = 1; /* sector count */
- aptCmdBlk[14] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
+ apt_cdb[6] = 1; /* sector count */
+ apt_cdb[14] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
ATA_IDENTIFY_DEVICE);
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (chk_cond << 5) | (t_dir << 3) |
- (byte_block << 2) | t_length;
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (chk_cond << 5) | (t_dir << 3) |
+ (byte_block << 2) | t_length;
if (verbose) {
fprintf(stderr, " ata pass through(16) cdb: ");
for (k = 0; k < SAT_ATA_PASS_THROUGH16_LEN; ++k)
- fprintf(stderr, "%02x ", aptCmdBlk[k]);
+ fprintf(stderr, "%02x ", apt_cdb[k]);
fprintf(stderr, "\n");
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(aptCmdBlk);
+ io_hdr.cmd_len = sizeof(apt_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = ID_RESPONSE_LEN;
io_hdr.dxferp = inBuff;
- io_hdr.cmdp = aptCmdBlk;
+ io_hdr.cmdp = apt_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg__sat_phy_event.c b/examples/sg__sat_phy_event.c
index b21b3c90..e2dd2d01 100644
--- a/examples/sg__sat_phy_event.c
+++ b/examples/sg__sat_phy_event.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2007 Douglas Gilbert.
+ * Copyright (c) 2006-2016 Douglas Gilbert.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -64,7 +64,7 @@
#define EBUFF_SZ 256
-static const char * version_str = "1.00 20070507";
+static const char * version_str = "1.01 20160528";
static struct option long_options[] = {
{"help", no_argument, 0, 'h'},
@@ -146,7 +146,7 @@ static void dStrRaw(const char* str, int len)
int main(int argc, char * argv[])
{
int sg_fd, c, k, j, ok, res, id, len, vendor;
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
sg_io_hdr_t io_hdr;
@@ -235,29 +235,29 @@ int main(int argc, char * argv[])
/* Prepare SCSI ATA PASS-THROUGH COMMAND (16) command */
if (reset > 0)
- aptCmdBlk[4] = 1; /* features (7:0) */
- aptCmdBlk[6] = 1; /* sector count */
- aptCmdBlk[8] = SATA_PHY_EVENT_LPAGE; /* lba_low (7:0) */
- aptCmdBlk[14] = ATA_READ_LOG_EXT; /* command */
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (chk_cond << 5) | (t_dir << 3) |
- (byte_block << 2) | t_length;
+ apt_cdb[4] = 1; /* features (7:0) */
+ apt_cdb[6] = 1; /* sector count */
+ apt_cdb[8] = SATA_PHY_EVENT_LPAGE; /* lba_low (7:0) */
+ apt_cdb[14] = ATA_READ_LOG_EXT; /* command */
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (chk_cond << 5) | (t_dir << 3) | (byte_block << 2) |
+ t_length;
if (verbose) {
fprintf(stderr, " ata pass through(16) cdb: ");
for (k = 0; k < SAT_ATA_PASS_THROUGH16_LEN; ++k)
- fprintf(stderr, "%02x ", aptCmdBlk[k]);
+ fprintf(stderr, "%02x ", apt_cdb[k]);
fprintf(stderr, "\n");
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(aptCmdBlk);
+ io_hdr.cmd_len = sizeof(apt_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = READ_LOG_EXT_RESPONSE_LEN;
io_hdr.dxferp = inBuff;
- io_hdr.cmdp = aptCmdBlk;
+ io_hdr.cmdp = apt_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg__sat_set_features.c b/examples/sg__sat_set_features.c
index 9ea1ee0d..215d2351 100644
--- a/examples/sg__sat_set_features.c
+++ b/examples/sg__sat_set_features.c
@@ -58,7 +58,7 @@
#define EBUFF_SZ 256
-static char * version_str = "1.04 20160423";
+static char * version_str = "1.04 20160528";
static struct option long_options[] = {
{"count", required_argument, 0, 'c'},
@@ -100,7 +100,7 @@ void usage()
int main(int argc, char * argv[])
{
int sg_fd, c, k;
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
sg_io_hdr_t io_hdr;
@@ -198,31 +198,31 @@ int main(int argc, char * argv[])
}
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[14] = ATA_SET_FEATURES;
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (chk_cond << 5) | (t_dir << 3) |
- (byte_block << 2) | t_length;
- aptCmdBlk[4] = feature;
- aptCmdBlk[6] = count;
- aptCmdBlk[8] = lba & 0xff;
- aptCmdBlk[10] = (lba >> 8) & 0xff;
- aptCmdBlk[12] = (lba >> 16) & 0xff;
+ apt_cdb[14] = ATA_SET_FEATURES;
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (chk_cond << 5) | (t_dir << 3) | (byte_block << 2) |
+ t_length;
+ apt_cdb[4] = feature;
+ apt_cdb[6] = count;
+ apt_cdb[8] = lba & 0xff;
+ apt_cdb[10] = (lba >> 8) & 0xff;
+ apt_cdb[12] = (lba >> 16) & 0xff;
if (verbose) {
fprintf(stderr, " ata pass through(16) cdb: ");
for (k = 0; k < SAT_ATA_PASS_THROUGH16_LEN; ++k)
- fprintf(stderr, "%02x ", aptCmdBlk[k]);
+ fprintf(stderr, "%02x ", apt_cdb[k]);
fprintf(stderr, "\n");
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(aptCmdBlk);
+ io_hdr.cmd_len = sizeof(apt_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
io_hdr.dxfer_len = 0;
io_hdr.dxferp = NULL;
- io_hdr.cmdp = aptCmdBlk;
+ io_hdr.cmdp = apt_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg_excl.c b/examples/sg_excl.c
index 6f9aa3ad..de84905c 100644
--- a/examples/sg_excl.c
+++ b/examples/sg_excl.c
@@ -22,7 +22,7 @@
Invocation: sg_excl [-x] <sg_device>
- Version 3.58 (20130731)
+ Version 3.59 (20160528)
6 byte INQUIRY command:
[0x12][ |lu][pg cde][res ][al len][cntrl ]
@@ -43,9 +43,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok /*, sg_fd2 */;
- unsigned char inqCmdBlk [INQ_CMD_LEN] =
+ unsigned char inq_cdb [INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] =
+ unsigned char tur_cdb [TUR_CMD_LEN] =
{0x00, 0, 0, 0, 0, 0};
unsigned char inqBuff[INQ_REPLY_LEN];
sg_io_hdr_t io_hdr;
@@ -103,13 +103,13 @@ int main(int argc, char * argv[])
/* Prepare INQUIRY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = INQ_REPLY_LEN;
io_hdr.dxferp = inqBuff;
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
@@ -154,10 +154,10 @@ int main(int argc, char * argv[])
/* Prepare TEST UNIT READY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(turCmdBlk);
+ io_hdr.cmd_len = sizeof(tur_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
- io_hdr.cmdp = turCmdBlk;
+ io_hdr.cmdp = tur_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
diff --git a/examples/sg_queue_tst.c b/examples/sg_queue_tst.c
index b8bc549e..9690b0ba 100644
--- a/examples/sg_queue_tst.c
+++ b/examples/sg_queue_tst.c
@@ -26,7 +26,7 @@
Invocation: sg_queue_tst [-t] <sg_device>
-t queue at tail
- Version 0.90 (20100324)
+ Version 0.91 (20160528)
*/
@@ -49,9 +49,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char inqCmdBlk[INQ_CMD_LEN] =
+ unsigned char inq_cdb[INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char sdiagCmdBlk[SDIAG_CMD_LEN] =
+ unsigned char sdiag_cdb[SDIAG_CMD_LEN] =
{0x1d, 0, 0, 0, 0, 0};
unsigned char inqBuff[16][INQ_REPLY_LEN];
sg_io_hdr_t io_hdr[16];
@@ -98,12 +98,12 @@ int main(int argc, char * argv[])
/* io_hdr[k].iovec_count = 0; */ /* memset takes care of this */
io_hdr[k].mx_sb_len = (unsigned char)sizeof(sense_buffer);
if (0 == (k % 3)) {
- io_hdr[k].cmd_len = sizeof(sdiagCmdBlk);
- io_hdr[k].cmdp = sdiagCmdBlk;
+ io_hdr[k].cmd_len = sizeof(sdiag_cdb);
+ io_hdr[k].cmdp = sdiag_cdb;
io_hdr[k].dxfer_direction = SG_DXFER_NONE;
} else {
- io_hdr[k].cmd_len = sizeof(inqCmdBlk);
- io_hdr[k].cmdp = inqCmdBlk;
+ io_hdr[k].cmd_len = sizeof(inq_cdb);
+ io_hdr[k].cmdp = inq_cdb;
io_hdr[k].dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr[k].dxfer_len = INQ_REPLY_LEN;
io_hdr[k].dxferp = inqBuff[k];
diff --git a/examples/sg_sat_chk_power.c b/examples/sg_sat_chk_power.c
index 14583300..5e65e927 100644
--- a/examples/sg_sat_chk_power.c
+++ b/examples/sg_sat_chk_power.c
@@ -56,7 +56,7 @@
#define EBUFF_SZ 256
-static const char * version_str = "1.05 20160423";
+static const char * version_str = "1.05 20160528";
#if 0
@@ -98,7 +98,7 @@ sg_sat_decode_fixed_sense(const unsigned char * sp, int slen, char * bp,
int main(int argc, char * argv[])
{
int sg_fd, k;
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
sg_io_hdr_t io_hdr;
@@ -150,26 +150,26 @@ int main(int argc, char * argv[])
}
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[14] = ATA_CHECK_POWER_MODE;
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (chk_cond << 5) | (t_dir << 3) |
+ apt_cdb[14] = ATA_CHECK_POWER_MODE;
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (chk_cond << 5) | (t_dir << 3) |
(byte_block << 2) | t_length;
if (verbose) {
fprintf(stderr, " ata pass through(16) cdb: ");
for (k = 0; k < SAT_ATA_PASS_THROUGH16_LEN; ++k)
- fprintf(stderr, "%02x ", aptCmdBlk[k]);
+ fprintf(stderr, "%02x ", apt_cdb[k]);
fprintf(stderr, "\n");
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(aptCmdBlk);
+ io_hdr.cmd_len = sizeof(apt_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
io_hdr.dxfer_len = 0;
io_hdr.dxferp = NULL;
- io_hdr.cmdp = aptCmdBlk;
+ io_hdr.cmdp = apt_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg_sat_smart_rd_data.c b/examples/sg_sat_smart_rd_data.c
index deaf1454..36b824ca 100644
--- a/examples/sg_sat_smart_rd_data.c
+++ b/examples/sg_sat_smart_rd_data.c
@@ -57,12 +57,12 @@
#define EBUFF_SZ 256
-static char * version_str = "1.03 20160423";
+static char * version_str = "1.03 20160528";
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
sg_io_hdr_t io_hdr;
@@ -115,30 +115,30 @@ int main(int argc, char * argv[])
}
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[4] = ATA_SMART_READ_DATA; /* feature (7:0) */
- aptCmdBlk[6] = 1; /* number of block (sector count) */
- aptCmdBlk[10] = 0x4f; /* lba_mid (7:0) */
- aptCmdBlk[12] = 0xc2; /* lba_high (7:0) */
- aptCmdBlk[14] = ATA_SMART;
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (chk_cond << 5) | (t_dir << 3) |
- (byte_block << 2) | t_length;
+ apt_cdb[4] = ATA_SMART_READ_DATA; /* feature (7:0) */
+ apt_cdb[6] = 1; /* number of block (sector count) */
+ apt_cdb[10] = 0x4f; /* lba_mid (7:0) */
+ apt_cdb[12] = 0xc2; /* lba_high (7:0) */
+ apt_cdb[14] = ATA_SMART;
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (chk_cond << 5) | (t_dir << 3) | (byte_block << 2) |
+ t_length;
if (verbose) {
fprintf(stderr, " ata pass through(16) cdb: ");
for (k = 0; k < SAT_ATA_PASS_THROUGH16_LEN; ++k)
- fprintf(stderr, "%02x ", aptCmdBlk[k]);
+ fprintf(stderr, "%02x ", apt_cdb[k]);
fprintf(stderr, "\n");
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(aptCmdBlk);
+ io_hdr.cmd_len = sizeof(apt_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = SMART_READ_DATA_RESPONSE_LEN;
io_hdr.dxferp = inBuff;
- io_hdr.cmdp = aptCmdBlk;
+ io_hdr.cmdp = apt_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg_simple1.c b/examples/sg_simple1.c
index 73ba76e9..d8352678 100644
--- a/examples/sg_simple1.c
+++ b/examples/sg_simple1.c
@@ -26,7 +26,7 @@
Invocation: sg_simple1 [-x] <scsi_device>
- Version 03.58 (20070312)
+ Version 03.59 (20160528)
6 byte INQUIRY command:
[0x12][ |lu][pg cde][res ][al len][cntrl ]
@@ -45,9 +45,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char inqCmdBlk [INQ_CMD_LEN] =
+ unsigned char inq_cdb [INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] =
+ unsigned char tur_cdb [TUR_CMD_LEN] =
{0x00, 0, 0, 0, 0, 0};
unsigned char inqBuff[INQ_REPLY_LEN];
sg_io_hdr_t io_hdr;
@@ -95,13 +95,13 @@ int main(int argc, char * argv[])
/* Prepare INQUIRY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = INQ_REPLY_LEN;
io_hdr.dxferp = inqBuff;
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
@@ -146,10 +146,10 @@ int main(int argc, char * argv[])
/* Prepare TEST UNIT READY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(turCmdBlk);
+ io_hdr.cmd_len = sizeof(tur_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
- io_hdr.cmdp = turCmdBlk;
+ io_hdr.cmdp = tur_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
diff --git a/examples/sg_simple16.c b/examples/sg_simple16.c
index 9f8a48ca..b4ad9582 100644
--- a/examples/sg_simple16.c
+++ b/examples/sg_simple16.c
@@ -21,7 +21,7 @@
Invocation: sg_simple16 <scsi_device>
- Version 1.02 (20020206)
+ Version 1.03 (20160528)
*/
@@ -33,7 +33,7 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char r16CmdBlk [READ16_CMD_LEN] =
+ unsigned char r16_cdb [READ16_CMD_LEN] =
{0x88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0};
sg_io_hdr_t io_hdr;
char * file_name = 0;
@@ -77,13 +77,13 @@ int main(int argc, char * argv[])
/* Prepare READ_16 command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(r16CmdBlk);
+ io_hdr.cmd_len = sizeof(r16_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = READ16_REPLY_LEN;
io_hdr.dxferp = inBuff;
- io_hdr.cmdp = r16CmdBlk;
+ io_hdr.cmdp = r16_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
diff --git a/examples/sg_simple2.c b/examples/sg_simple2.c
index a4763b54..a0710be5 100644
--- a/examples/sg_simple2.c
+++ b/examples/sg_simple2.c
@@ -18,7 +18,7 @@
In the lk 2.6 series devices nodes such as /dev/sda also support
the SG_IO ioctl.
-* Copyright (C) 1999-2007 D. Gilbert
+* Copyright (C) 1999-2016 D. Gilbert
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
@@ -26,7 +26,7 @@
Invocation: sg_simple2 [-x] <scsi_device>
- Version 03.58 (20070312)
+ Version 03.59 (20160528)
6 byte INQUIRY command:
[0x12][ |lu][pg cde][res ][al len][cntrl ]
@@ -36,7 +36,7 @@
*/
-#define INQ_REPLY_LEN 96 /* logic assumes >= sizeof(inqCmdBlk) */
+#define INQ_REPLY_LEN 96 /* logic assumes >= sizeof(inq_cdb) */
#define INQ_CMD_LEN 6
#define TUR_CMD_LEN 6
@@ -46,9 +46,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k;
- unsigned char inqCmdBlk [INQ_CMD_LEN] =
+ unsigned char inq_cdb[INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] =
+ unsigned char tur_cdb[TUR_CMD_LEN] =
{0x00, 0, 0, 0, 0, 0};
unsigned char inqBuff[INQ_REPLY_LEN];
sg_io_hdr_t io_hdr;
@@ -96,13 +96,13 @@ int main(int argc, char * argv[])
/* Prepare INQUIRY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = INQ_REPLY_LEN;
io_hdr.dxferp = inqBuff;
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
@@ -149,10 +149,10 @@ int main(int argc, char * argv[])
/* Prepare TEST UNIT READY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(turCmdBlk);
+ io_hdr.cmd_len = sizeof(tur_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
- io_hdr.cmdp = turCmdBlk;
+ io_hdr.cmdp = tur_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
diff --git a/examples/sg_simple3.c b/examples/sg_simple3.c
index 93f2971e..4927a923 100644
--- a/examples/sg_simple3.c
+++ b/examples/sg_simple3.c
@@ -17,7 +17,7 @@
the sg_io_hdr interface to break an INQUIRY response into its
component parts.
-* Copyright (C) 1999 D. Gilbert
+* Copyright (C) 1999-2016 D. Gilbert
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
@@ -25,7 +25,7 @@
Invocation: sg_simple3 [-x] <sg_device>
- Version 03.58 (20020226)
+ Version 03.59 (20160528)
6 byte INQUIRY command:
[0x12][ |lu][pg cde][res ][al len][cntrl ]
@@ -48,10 +48,10 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char inqCmdBlk [INQ_CMD_LEN] = {0x12, 0, 0, 0,
+ unsigned char inq_cdb[INQ_CMD_LEN] = {0x12, 0, 0, 0,
INQ_REPLY_BASE_LEN + INQ_REPLY_VID_LEN +
INQ_REPLY_PID_LEN + INQ_REPLY_PREV_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] = {0x00, 0, 0, 0, 0, 0};
+ unsigned char tur_cdb[TUR_CMD_LEN] = {0x00, 0, 0, 0, 0, 0};
sg_iovec_t iovec[INQ_REPLY_IOVEC_COUNT];
unsigned char inqBaseBuff[INQ_REPLY_BASE_LEN];
char inqVidBuff[INQ_REPLY_VID_LEN];
@@ -102,7 +102,7 @@ int main(int argc, char * argv[])
/* Prepare INQUIRY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
io_hdr.iovec_count = INQ_REPLY_IOVEC_COUNT;
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
@@ -117,7 +117,7 @@ int main(int argc, char * argv[])
iovec[3].iov_base = inqPRevBuff;
iovec[3].iov_len = INQ_REPLY_PREV_LEN;
io_hdr.dxferp = iovec;
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
/* io_hdr.flags = 0; */ /* take defaults: indirect IO, etc */
@@ -162,10 +162,10 @@ int main(int argc, char * argv[])
/* Prepare TEST UNIT READY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(turCmdBlk);
+ io_hdr.cmd_len = sizeof(tur_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
- io_hdr.cmdp = turCmdBlk;
+ io_hdr.cmdp = tur_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
diff --git a/examples/sg_simple4.c b/examples/sg_simple4.c
index 8b633ab2..95a5023b 100644
--- a/examples/sg_simple4.c
+++ b/examples/sg_simple4.c
@@ -16,7 +16,7 @@
This variant shows mmap-ed IO being used to read the data returned
by the INQUIRY command.
-* Copyright (C) 2001 D. Gilbert
+* Copyright (C) 2001-2016 D. Gilbert
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
@@ -24,7 +24,7 @@
Invocation: sg_simple4 [-x] <sg_device>
- Version 1.01 (20020113)
+ Version 1.02 (20160528)
6 byte INQUIRY command:
[0x12][ |lu][pg cde][res ][al len][cntrl ]
@@ -47,9 +47,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok;
- unsigned char inqCmdBlk [INQ_CMD_LEN] =
+ unsigned char inq_cdb[INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] =
+ unsigned char tur_cdb[TUR_CMD_LEN] =
{0x00, 0, 0, 0, 0, 0};
unsigned char * inqBuff;
unsigned char * inqBuff2;
@@ -113,13 +113,13 @@ int main(int argc, char * argv[])
/* Prepare INQUIRY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
/* io_hdr.iovec_count = 0; */ /* memset takes care of this */
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = INQ_REPLY_LEN;
/* io_hdr.dxferp = inqBuff; // ignored in mmap-ed IO */
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
io_hdr.flags = SG_FLAG_MMAP_IO;
@@ -164,10 +164,10 @@ int main(int argc, char * argv[])
/* Prepare TEST UNIT READY command */
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(turCmdBlk);
+ io_hdr.cmd_len = sizeof(tur_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_NONE;
- io_hdr.cmdp = turCmdBlk;
+ io_hdr.cmdp = tur_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
diff --git a/examples/sg_simple5.c b/examples/sg_simple5.c
index 3a09d8f7..0471bec8 100644
--- a/examples/sg_simple5.c
+++ b/examples/sg_simple5.c
@@ -19,7 +19,7 @@
Invocation: sg_simple5 [-x] <scsi_device>
- Version 1.01 (20070331)
+ Version 1.02 (20160528)
*/
@@ -33,9 +33,9 @@
int main(int argc, char * argv[])
{
int sg_fd, k, ok, dsize, res, duration, resid, cat, got, slen;
- unsigned char inqCmdBlk [INQ_CMD_LEN] =
+ unsigned char inq_cdb [INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
- unsigned char turCmdBlk [TUR_CMD_LEN] =
+ unsigned char tur_cdb [TUR_CMD_LEN] =
{0x00, 0, 0, 0, 0, 0};
unsigned char inqBuff[INQ_REPLY_LEN];
char * file_name = 0;
@@ -85,7 +85,7 @@ int main(int argc, char * argv[])
fprintf(stderr, "sg_simple5: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, inqCmdBlk, sizeof(inqCmdBlk));
+ set_scsi_pt_cdb(ptvp, inq_cdb, sizeof(inq_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, inqBuff, dsize);
res = do_scsi_pt(ptvp, sg_fd, CMD_TIMEOUT_SECS, verbose);
@@ -168,7 +168,7 @@ finish_inq:
fprintf(stderr, "sg_simple5: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, turCmdBlk, sizeof(turCmdBlk));
+ set_scsi_pt_cdb(ptvp, tur_cdb, sizeof(tur_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
/* no data in or out */
res = do_scsi_pt(ptvp, sg_fd, CMD_TIMEOUT_SECS, verbose);
diff --git a/examples/sgq_dd.c b/examples/sgq_dd.c
index b3d82736..4b6bd041 100644
--- a/examples/sgq_dd.c
+++ b/examples/sgq_dd.c
@@ -48,7 +48,7 @@ typedef unsigned char u_char; /* horrible, for scsi.h */
*/
-static char * version_str = "0.58 20151209";
+static char * version_str = "0.59 20160528";
/* resurrected from "0.55 20020509" */
#define DEF_BLOCK_SIZE 512
@@ -285,19 +285,19 @@ static int
read_capacity(int sg_fd, int * num_sect, int * sect_sz)
{
int res;
- unsigned char rcCmdBlk [10] = {0x25, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ unsigned char rc_cdb [10] = {0x25, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char rcBuff[64];
unsigned char sense_b[64];
sg_io_hdr_t io_hdr;
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(rcCmdBlk);
+ io_hdr.cmd_len = sizeof(rc_cdb);
io_hdr.mx_sb_len = sizeof(sense_b);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = sizeof(rcBuff);
io_hdr.dxferp = rcBuff;
- io_hdr.cmdp = rcCmdBlk;
+ io_hdr.cmdp = rc_cdb;
io_hdr.sbp = sense_b;
io_hdr.timeout = DEF_TIMEOUT;
diff --git a/lib/sg_cmds_basic.c b/lib/sg_cmds_basic.c
index d98096b4..bb9a3c86 100644
--- a/lib/sg_cmds_basic.c
+++ b/lib/sg_cmds_basic.c
@@ -35,7 +35,7 @@
#endif
-static const char * version_str = "1.73 20160331";
+static const char * const version_str = "1.74 20160528";
#define SENSE_BUFF_LEN 64 /* Arbitrary, could be larger */
@@ -112,6 +112,8 @@ sg_cmds_close_device(int device_fd)
return scsi_pt_close_device(device_fd);
}
+static const char * const pass_through_s = "pass-through";
+
static int
sg_cmds_process_helper(const char * leadin, int mx_di_len, int resid,
const unsigned char * sbp, int slen, int noisy,
@@ -154,8 +156,8 @@ sg_cmds_process_helper(const char * leadin, int mx_di_len, int resid,
if ((mx_di_len > 0) && (resid > 0)) {
got = mx_di_len - resid;
if ((verbose > 2) || check_data_in || (got > 0))
- pr2ws(" pass-through requested %d bytes (data-in) but "
- "got %d bytes\n", mx_di_len, got);
+ pr2ws(" %s requested %d bytes (data-in) but got %d "
+ "bytes\n", pass_through_s, mx_di_len, got);
}
}
if (o_sense_cat)
@@ -179,7 +181,8 @@ sg_cmds_process_resp(struct sg_pt_base * ptvp, const char * leadin,
int pt_res, int mx_di_len, const unsigned char * sbp,
int noisy, int verbose, int * o_sense_cat)
{
- int got, cat, duration, slen, resid, resp_code, sstat, transport_sense;
+ int got, cat, duration, slen, resid, resp_code, sstat;
+ bool transport_sense;
char b[1024];
if (NULL == leadin)
@@ -187,7 +190,7 @@ sg_cmds_process_resp(struct sg_pt_base * ptvp, const char * leadin,
if (pt_res < 0) {
#ifdef SG_LIB_LINUX
if (verbose)
- pr2ws("%s: pass through os error: %s\n", leadin,
+ pr2ws("%s: %s os error: %s\n", leadin, pass_through_s,
safe_strerror(-pt_res));
if ((-ENXIO == pt_res) && o_sense_cat) {
if (verbose > 2)
@@ -195,19 +198,19 @@ sg_cmds_process_resp(struct sg_pt_base * ptvp, const char * leadin,
*o_sense_cat = SG_LIB_CAT_NOT_READY;
return -2;
} else if (noisy && (0 == verbose))
- pr2ws("%s: pass through os error: %s\n", leadin,
+ pr2ws("%s: %s os error: %s\n", leadin, pass_through_s,
safe_strerror(-pt_res));
#else
if (noisy || verbose)
- pr2ws("%s: pass through os error: %s\n", leadin,
+ pr2ws("%s: %s os error: %s\n", leadin, pass_through_s,
safe_strerror(-pt_res));
#endif
return -1;
} else if (SCSI_PT_DO_BAD_PARAMS == pt_res) {
- pr2ws("%s: bad pass through setup\n", leadin);
+ pr2ws("%s: bad %s setup\n", leadin, pass_through_s);
return -1;
} else if (SCSI_PT_DO_TIMEOUT == pt_res) {
- pr2ws("%s: pass through timeout\n", leadin);
+ pr2ws("%s: %s timeout\n", leadin, pass_through_s);
return -1;
}
if ((verbose > 2) && ((duration = get_scsi_pt_duration_ms(ptvp)) >= 0))
@@ -232,14 +235,14 @@ sg_cmds_process_resp(struct sg_pt_base * ptvp, const char * leadin,
if (mx_di_len > 0) {
got = mx_di_len - resid;
if ((verbose > 1) && (resid != 0))
- pr2ws(" %s: pass-through requested %d bytes (data-in) "
- "but got %d bytes\n", leadin, mx_di_len, got);
+ pr2ws(" %s: %s requested %d bytes (data-in) but got %d "
+ "bytes\n", leadin, pass_through_s, mx_di_len, got);
if (got >= 0)
return got;
else {
if (verbose)
- pr2ws(" %s: pass-through can't get negative bytes, "
- "say it got none\n", leadin);
+ pr2ws(" %s: %s can't get negative bytes, say it got "
+ "none\n", leadin, pass_through_s);
return 0;
}
} else
@@ -301,11 +304,23 @@ sg_cmds_process_resp(struct sg_pt_base * ptvp, const char * leadin,
}
return -1;
default:
- pr2ws("%s: unknown pass through result category (%d)\n", leadin, cat);
+ pr2ws("%s: unknown %s result category (%d)\n", leadin, pass_through_s,
+ cat);
return -1;
}
}
+static struct sg_pt_base *
+create_pt_obj(const char * cname)
+{
+ struct sg_pt_base * ptvp = construct_scsi_pt_obj();
+ if (NULL == ptvp)
+ pr2ws("%s: out of memory\n", cname);
+ return ptvp;
+}
+
+static const char * const inquiry_s = "inquiry";
+
/* Invokes a SCSI INQUIRY command and yields the response. Returns 0 when
* successful, various SG_LIB_CAT_* positive values or -1 -> other errors */
int
@@ -313,22 +328,22 @@ sg_ll_inquiry(int sg_fd, int cmddt, int evpd, int pg_op, void * resp,
int mx_resp_len, int noisy, int verbose)
{
int res, ret, k, sense_cat, resid;
- unsigned char inqCmdBlk[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
+ unsigned char inq_cdb[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
unsigned char * up;
struct sg_pt_base * ptvp;
if (cmddt)
- inqCmdBlk[1] |= 2;
+ inq_cdb[1] |= 2;
if (evpd)
- inqCmdBlk[1] |= 1;
- inqCmdBlk[2] = (unsigned char)pg_op;
+ inq_cdb[1] |= 1;
+ inq_cdb[2] = (unsigned char)pg_op;
/* 16 bit allocation length (was 8) is a recent SPC-3 addition */
- sg_put_unaligned_be16((uint16_t)mx_resp_len, inqCmdBlk + 3);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, inq_cdb + 3);
if (verbose) {
- pr2ws(" inquiry cdb: ");
+ pr2ws(" %s cdb: ", inquiry_s);
for (k = 0; k < INQUIRY_CMDLEN; ++k)
- pr2ws("%02x ", inqCmdBlk[k]);
+ pr2ws("%02x ", inq_cdb[k]);
pr2ws("\n");
}
if (resp && (mx_resp_len > 0)) {
@@ -337,16 +352,13 @@ sg_ll_inquiry(int sg_fd, int cmddt, int evpd, int pg_op, void * resp,
if (mx_resp_len > 4)
up[4] = 0;
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("inquiry: out of memory\n");
+ if (NULL == (ptvp = create_pt_obj(inquiry_s)))
return -1;
- }
- set_scsi_pt_cdb(ptvp, inqCmdBlk, sizeof(inqCmdBlk));
+ set_scsi_pt_cdb(ptvp, inq_cdb, sizeof(inq_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "inquiry", res, mx_resp_len, sense_b,
+ ret = sg_cmds_process_resp(ptvp, inquiry_s, res, mx_resp_len, sense_b,
noisy, verbose, &sense_cat);
resid = get_scsi_pt_resid(ptvp);
destruct_scsi_pt_obj(ptvp);
@@ -364,15 +376,15 @@ sg_ll_inquiry(int sg_fd, int cmddt, int evpd, int pg_op, void * resp,
}
} else if (ret < 4) {
if (verbose)
- pr2ws("inquiry: got too few bytes (%d)\n", ret);
+ pr2ws("%s: got too few bytes (%d)\n", inquiry_s, ret);
ret = SG_LIB_CAT_MALFORMED;
} else
ret = 0;
if (resid > 0) {
if (resid > mx_resp_len) {
- pr2ws("inquiry: resid (%d) should never exceed requested "
- "len=%d\n", resid, mx_resp_len);
+ pr2ws("%s: resid (%d) should never exceed requested len=%d\n",
+ inquiry_s, resid, mx_resp_len);
return ret ? ret : SG_LIB_CAT_MALFORMED;
}
/* zero unfilled section of response buffer */
@@ -389,7 +401,7 @@ sg_simple_inquiry(int sg_fd, struct sg_simple_inquiry_resp * inq_data,
int noisy, int verbose)
{
int res, ret, k, sense_cat;
- unsigned char inqCmdBlk[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
+ unsigned char inq_cdb[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
unsigned char inq_resp[SAFE_STD_INQ_RESP_LEN];
struct sg_pt_base * ptvp;
@@ -399,25 +411,22 @@ sg_simple_inquiry(int sg_fd, struct sg_simple_inquiry_resp * inq_data,
inq_data->peripheral_qualifier = 0x3;
inq_data->peripheral_type = 0x1f;
}
- inqCmdBlk[4] = (unsigned char)sizeof(inq_resp);
+ inq_cdb[4] = (unsigned char)sizeof(inq_resp);
if (verbose) {
- pr2ws(" inquiry cdb: ");
+ pr2ws(" %s cdb: ", inquiry_s);
for (k = 0; k < INQUIRY_CMDLEN; ++k)
- pr2ws("%02x ", inqCmdBlk[k]);
+ pr2ws("%02x ", inq_cdb[k]);
pr2ws("\n");
}
memset(inq_resp, 0, sizeof(inq_resp));
inq_resp[0] = 0x7f; /* defensive prefill */
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("inquiry: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(inquiry_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, inqCmdBlk, sizeof(inqCmdBlk));
+ set_scsi_pt_cdb(ptvp, inq_cdb, sizeof(inq_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, inq_resp, sizeof(inq_resp));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "inquiry", res, sizeof(inq_resp),
+ ret = sg_cmds_process_resp(ptvp, inquiry_s, res, sizeof(inq_resp),
sense_b, noisy, verbose, &sense_cat);
if (-1 == ret)
;
@@ -433,7 +442,7 @@ sg_simple_inquiry(int sg_fd, struct sg_simple_inquiry_resp * inq_data,
}
} else if (ret < 4) {
if (verbose)
- pr2ws("inquiry: got too few bytes (%d)\n", ret);
+ pr2ws("%s: got too few bytes (%d)\n", inquiry_s, ret);
ret = SG_LIB_CAT_MALFORMED;
} else
ret = 0;
@@ -465,29 +474,27 @@ int
sg_ll_test_unit_ready_progress(int sg_fd, int pack_id, int * progress,
int noisy, int verbose)
{
+ static const char * const tur_s = "test unit ready";
int res, ret, k, sense_cat;
- unsigned char turCmdBlk[TUR_CMDLEN] = {TUR_CMD, 0, 0, 0, 0, 0};
+ unsigned char tur_cdb[TUR_CMDLEN] = {TUR_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (verbose) {
- pr2ws(" test unit ready cdb: ");
+ pr2ws(" %s cdb: ", tur_s);
for (k = 0; k < TUR_CMDLEN; ++k)
- pr2ws("%02x ", turCmdBlk[k]);
+ pr2ws("%02x ", tur_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("test unit ready: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(tur_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, turCmdBlk, sizeof(turCmdBlk));
+ set_scsi_pt_cdb(ptvp, tur_cdb, sizeof(tur_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_packet_id(ptvp, pack_id);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "test unit ready", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, tur_s, res, 0, sense_b, noisy, verbose,
+ &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -530,37 +537,35 @@ int
sg_ll_request_sense(int sg_fd, int desc, void * resp, int mx_resp_len,
int noisy, int verbose)
{
+ static const char * const rq_s = "request sense";
int k, ret, res, sense_cat;
- unsigned char rsCmdBlk[REQUEST_SENSE_CMDLEN] =
+ unsigned char rs_cdb[REQUEST_SENSE_CMDLEN] =
{REQUEST_SENSE_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (desc)
- rsCmdBlk[1] |= 0x1;
+ rs_cdb[1] |= 0x1;
if (mx_resp_len > 0xff) {
pr2ws("mx_resp_len cannot exceed 255\n");
return -1;
}
- rsCmdBlk[4] = mx_resp_len & 0xff;
+ rs_cdb[4] = mx_resp_len & 0xff;
if (verbose) {
- pr2ws(" Request Sense cmd: ");
+ pr2ws(" %s cmd: ", rq_s);
for (k = 0; k < REQUEST_SENSE_CMDLEN; ++k)
- pr2ws("%02x ", rsCmdBlk[k]);
+ pr2ws("%02x ", rs_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("request sense: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(rq_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rsCmdBlk, sizeof(rsCmdBlk));
+ set_scsi_pt_cdb(ptvp, rs_cdb, sizeof(rs_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "request sense", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, rq_s, res, mx_resp_len, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -576,8 +581,8 @@ sg_ll_request_sense(int sg_fd, int desc, void * resp, int mx_resp_len,
} else {
if ((mx_resp_len >= 8) && (ret < 8)) {
if (verbose)
- pr2ws(" request sense: got %d bytes in response, too "
- "short\n", ret);
+ pr2ws(" %s: got %d bytes in response, too short\n", rq_s,
+ ret);
ret = -1;
} else
ret = 0;
@@ -592,31 +597,29 @@ int
sg_ll_report_luns(int sg_fd, int select_report, void * resp, int mx_resp_len,
int noisy, int verbose)
{
+ static const char * const report_luns_s = "report luns";
int k, ret, res, sense_cat;
- unsigned char rlCmdBlk[REPORT_LUNS_CMDLEN] =
+ unsigned char rl_cdb[REPORT_LUNS_CMDLEN] =
{REPORT_LUNS_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- rlCmdBlk[2] = select_report & 0xff;
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rlCmdBlk + 6);
+ rl_cdb[2] = select_report & 0xff;
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rl_cdb + 6);
if (verbose) {
- pr2ws(" report luns cdb: ");
+ pr2ws(" %s cdb: ", report_luns_s);
for (k = 0; k < REPORT_LUNS_CMDLEN; ++k)
- pr2ws("%02x ", rlCmdBlk[k]);
+ pr2ws("%02x ", rl_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("report luns: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(report_luns_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rlCmdBlk, sizeof(rlCmdBlk));
+ set_scsi_pt_cdb(ptvp, rl_cdb, sizeof(rl_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "report luns", res, mx_resp_len,
+ ret = sg_cmds_process_resp(ptvp, report_luns_s, res, mx_resp_len,
sense_b, noisy, verbose, &sense_cat);
if (-1 == ret)
;
diff --git a/lib/sg_cmds_basic2.c b/lib/sg_cmds_basic2.c
index 9c3fbc62..e72c493f 100644
--- a/lib/sg_cmds_basic2.c
+++ b/lib/sg_cmds_basic2.c
@@ -88,6 +88,15 @@ pr2ws(const char * fmt, ...)
return n;
}
+static struct sg_pt_base *
+create_pt_obj(const char * cname)
+{
+ struct sg_pt_base * ptvp = construct_scsi_pt_obj();
+ if (NULL == ptvp)
+ pr2ws("%s: out of memory\n", cname);
+ return ptvp;
+}
+
/* Invokes a SCSI SYNCHRONIZE CACHE (10) command. Return of 0 -> success,
* various SG_LIB_CAT_* positive values or -1 -> other errors */
int
@@ -95,40 +104,38 @@ sg_ll_sync_cache_10(int sg_fd, int sync_nv, int immed, int group,
unsigned int lba, unsigned int count, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "synchronize cache(10)";
int res, ret, k, sense_cat;
- unsigned char scCmdBlk[SYNCHRONIZE_CACHE_CMDLEN] =
+ unsigned char sc_cdb[SYNCHRONIZE_CACHE_CMDLEN] =
{SYNCHRONIZE_CACHE_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (sync_nv)
- scCmdBlk[1] |= 4;
+ sc_cdb[1] |= 4;
if (immed)
- scCmdBlk[1] |= 2;
- sg_put_unaligned_be32((uint32_t)lba, scCmdBlk + 2);
- scCmdBlk[6] = group & 0x1f;
+ sc_cdb[1] |= 2;
+ sg_put_unaligned_be32((uint32_t)lba, sc_cdb + 2);
+ sc_cdb[6] = group & 0x1f;
if (count > 0xffff) {
pr2ws("count too big\n");
return -1;
}
- sg_put_unaligned_be16((int16_t)count, scCmdBlk + 7);
+ sg_put_unaligned_be16((int16_t)count, sc_cdb + 7);
if (verbose) {
- pr2ws(" synchronize cache(10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SYNCHRONIZE_CACHE_CMDLEN; ++k)
- pr2ws("%02x ", scCmdBlk[k]);
+ pr2ws("%02x ", sc_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("synchronize cache(10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, scCmdBlk, sizeof(scCmdBlk));
+ set_scsi_pt_cdb(ptvp, sc_cdb, sizeof(sc_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "synchronize cache(10)", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -154,36 +161,34 @@ int
sg_ll_readcap_16(int sg_fd, int pmi, uint64_t llba, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read capacity(16)";
int k, ret, res, sense_cat;
- unsigned char rcCmdBlk[SERVICE_ACTION_IN_16_CMDLEN] =
+ unsigned char rc_cdb[SERVICE_ACTION_IN_16_CMDLEN] =
{SERVICE_ACTION_IN_16_CMD, READ_CAPACITY_16_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (pmi) { /* lbs only valid when pmi set */
- rcCmdBlk[14] |= 1;
- sg_put_unaligned_be64(llba, rcCmdBlk + 2);
+ rc_cdb[14] |= 1;
+ sg_put_unaligned_be64(llba, rc_cdb + 2);
}
/* Allocation length, no guidance in SBC-2 rev 15b */
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rcCmdBlk + 10);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rc_cdb + 10);
if (verbose) {
- pr2ws(" read capacity (16) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_IN_16_CMDLEN; ++k)
- pr2ws("%02x ", rcCmdBlk[k]);
+ pr2ws("%02x ", rc_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read capacity (16): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rcCmdBlk, sizeof(rcCmdBlk));
+ set_scsi_pt_cdb(ptvp, rc_cdb, sizeof(rc_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read capacity (16)", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -209,33 +214,31 @@ int
sg_ll_readcap_10(int sg_fd, int pmi, unsigned int lba, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read capacity(10)";
int k, ret, res, sense_cat;
- unsigned char rcCmdBlk[READ_CAPACITY_10_CMDLEN] =
+ unsigned char rc_cdb[READ_CAPACITY_10_CMDLEN] =
{READ_CAPACITY_10_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (pmi) { /* lbs only valid when pmi set */
- rcCmdBlk[8] |= 1;
- sg_put_unaligned_be32((uint32_t)lba, rcCmdBlk + 2);
+ rc_cdb[8] |= 1;
+ sg_put_unaligned_be32((uint32_t)lba, rc_cdb + 2);
}
if (verbose) {
- pr2ws(" read capacity (10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < READ_CAPACITY_10_CMDLEN; ++k)
- pr2ws("%02x ", rcCmdBlk[k]);
+ pr2ws("%02x ", rc_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read capacity (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rcCmdBlk, sizeof(rcCmdBlk));
+ set_scsi_pt_cdb(ptvp, rc_cdb, sizeof(rc_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read capacity (10)", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -261,37 +264,35 @@ int
sg_ll_mode_sense6(int sg_fd, int dbd, int pc, int pg_code, int sub_pg_code,
void * resp, int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "mode sense(6)";
int res, ret, k, sense_cat, resid;
- unsigned char modesCmdBlk[MODE_SENSE6_CMDLEN] =
+ unsigned char modes_cdb[MODE_SENSE6_CMDLEN] =
{MODE_SENSE6_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- modesCmdBlk[1] = (unsigned char)(dbd ? 0x8 : 0);
- modesCmdBlk[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
- modesCmdBlk[3] = (unsigned char)(sub_pg_code & 0xff);
- modesCmdBlk[4] = (unsigned char)(mx_resp_len & 0xff);
+ modes_cdb[1] = (unsigned char)(dbd ? 0x8 : 0);
+ modes_cdb[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
+ modes_cdb[3] = (unsigned char)(sub_pg_code & 0xff);
+ modes_cdb[4] = (unsigned char)(mx_resp_len & 0xff);
if (mx_resp_len > 0xff) {
pr2ws("mx_resp_len too big\n");
return -1;
}
if (verbose) {
- pr2ws(" mode sense (6) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MODE_SENSE6_CMDLEN; ++k)
- pr2ws("%02x ", modesCmdBlk[k]);
+ pr2ws("%02x ", modes_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("mode sense (6): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, modesCmdBlk, sizeof(modesCmdBlk));
+ set_scsi_pt_cdb(ptvp, modes_cdb, sizeof(modes_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "mode sense (6)", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
resid = get_scsi_pt_resid(ptvp);
destruct_scsi_pt_obj(ptvp);
if (-1 == ret)
@@ -308,7 +309,7 @@ sg_ll_mode_sense6(int sg_fd, int dbd, int pc, int pg_code, int sub_pg_code,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" mode sense (6): response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -322,8 +323,8 @@ sg_ll_mode_sense6(int sg_fd, int dbd, int pc, int pg_code, int sub_pg_code,
if (resid > 0) {
if (resid > mx_resp_len) {
- pr2ws("mode sense(6): resid (%d) should never exceed requested "
- "len=%d\n", resid, mx_resp_len);
+ pr2ws("%s: resid (%d) should never exceed requested len=%d\n",
+ cdb_name_s, resid, mx_resp_len);
return ret ? ret : SG_LIB_CAT_MALFORMED;
}
/* zero unfilled section of response buffer */
@@ -339,37 +340,35 @@ sg_ll_mode_sense10(int sg_fd, int llbaa, int dbd, int pc, int pg_code,
int sub_pg_code, void * resp, int mx_resp_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "mode sense(10)";
int res, ret, k, sense_cat, resid;
- unsigned char modesCmdBlk[MODE_SENSE10_CMDLEN] =
+ unsigned char modes_cdb[MODE_SENSE10_CMDLEN] =
{MODE_SENSE10_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- modesCmdBlk[1] = (unsigned char)((dbd ? 0x8 : 0) | (llbaa ? 0x10 : 0));
- modesCmdBlk[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
- modesCmdBlk[3] = (unsigned char)(sub_pg_code & 0xff);
- sg_put_unaligned_be16((int16_t)mx_resp_len, modesCmdBlk + 7);
+ modes_cdb[1] = (unsigned char)((dbd ? 0x8 : 0) | (llbaa ? 0x10 : 0));
+ modes_cdb[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
+ modes_cdb[3] = (unsigned char)(sub_pg_code & 0xff);
+ sg_put_unaligned_be16((int16_t)mx_resp_len, modes_cdb + 7);
if (mx_resp_len > 0xffff) {
pr2ws("mx_resp_len too big\n");
return -1;
}
if (verbose) {
- pr2ws(" mode sense (10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MODE_SENSE10_CMDLEN; ++k)
- pr2ws("%02x ", modesCmdBlk[k]);
+ pr2ws("%02x ", modes_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("mode sense (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, modesCmdBlk, sizeof(modesCmdBlk));
+ set_scsi_pt_cdb(ptvp, modes_cdb, sizeof(modes_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "mode sense (10)", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
resid = get_scsi_pt_resid(ptvp);
destruct_scsi_pt_obj(ptvp);
if (-1 == ret)
@@ -386,7 +385,7 @@ sg_ll_mode_sense10(int sg_fd, int llbaa, int dbd, int pc, int pg_code,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" mode sense (10): response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -400,8 +399,8 @@ sg_ll_mode_sense10(int sg_fd, int llbaa, int dbd, int pc, int pg_code,
if (resid > 0) {
if (resid > mx_resp_len) {
- pr2ws("mode sense(10): resid (%d) should never exceed requested "
- "len=%d\n", resid, mx_resp_len);
+ pr2ws("%s: resid (%d) should never exceed requested len=%d\n",
+ cdb_name_s, resid, mx_resp_len);
return ret ? ret : SG_LIB_CAT_MALFORMED;
}
/* zero unfilled section of response buffer */
@@ -416,40 +415,38 @@ int
sg_ll_mode_select6(int sg_fd, int pf, int sp, void * paramp, int param_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "mode select(6)";
int res, ret, k, sense_cat;
- unsigned char modesCmdBlk[MODE_SELECT6_CMDLEN] =
+ unsigned char modes_cdb[MODE_SELECT6_CMDLEN] =
{MODE_SELECT6_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- modesCmdBlk[1] = (unsigned char)(((pf << 4) & 0x10) | (sp & 0x1));
- modesCmdBlk[4] = (unsigned char)(param_len & 0xff);
+ modes_cdb[1] = (unsigned char)(((pf << 4) & 0x10) | (sp & 0x1));
+ modes_cdb[4] = (unsigned char)(param_len & 0xff);
if (param_len > 0xff) {
- pr2ws("mode select (6): param_len too big\n");
+ pr2ws("%s: param_len too big\n", cdb_name_s);
return -1;
}
if (verbose) {
- pr2ws(" mode select (6) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MODE_SELECT6_CMDLEN; ++k)
- pr2ws("%02x ", modesCmdBlk[k]);
+ pr2ws("%02x ", modes_cdb[k]);
pr2ws("\n");
}
if (verbose > 1) {
- pr2ws(" mode select (6) parameter list\n");
+ pr2ws(" %s parameter list\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("mode select (6): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, modesCmdBlk, sizeof(modesCmdBlk));
+ set_scsi_pt_cdb(ptvp, modes_cdb, sizeof(modes_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "mode select (6)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -475,40 +472,38 @@ int
sg_ll_mode_select10(int sg_fd, int pf, int sp, void * paramp, int param_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "mode select(10)";
int res, ret, k, sense_cat;
- unsigned char modesCmdBlk[MODE_SELECT10_CMDLEN] =
+ unsigned char modes_cdb[MODE_SELECT10_CMDLEN] =
{MODE_SELECT10_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- modesCmdBlk[1] = (unsigned char)(((pf << 4) & 0x10) | (sp & 0x1));
- sg_put_unaligned_be16((int16_t)param_len, modesCmdBlk + 7);
+ modes_cdb[1] = (unsigned char)(((pf << 4) & 0x10) | (sp & 0x1));
+ sg_put_unaligned_be16((int16_t)param_len, modes_cdb + 7);
if (param_len > 0xffff) {
- pr2ws("mode select (10): param_len too big\n");
+ pr2ws("%s: param_len too big\n", cdb_name_s);
return -1;
}
if (verbose) {
- pr2ws(" mode select (10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MODE_SELECT10_CMDLEN; ++k)
- pr2ws("%02x ", modesCmdBlk[k]);
+ pr2ws("%02x ", modes_cdb[k]);
pr2ws("\n");
}
if (verbose > 1) {
- pr2ws(" mode select (10) parameter list\n");
+ pr2ws(" %s parameter list\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("mode select (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, modesCmdBlk, sizeof(modesCmdBlk));
+ set_scsi_pt_cdb(ptvp, modes_cdb, sizeof(modes_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "mode select (10)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -651,7 +646,7 @@ sg_get_mode_page_controls(int sg_fd, int mode6, int pg_code, int sub_pg_code,
ebuff, EBUFF_SZ);
if (offset < 0) {
if (('\0' != ebuff[0]) && (verbose > 0))
- pr2ws("sg_get_mode_page_controls: %s\n", ebuff);
+ pr2ws("%s: %s\n", __func__, ebuff);
return SG_LIB_CAT_MALFORMED;
}
xfer_len = calc_len - offset;
@@ -693,8 +688,9 @@ sg_ll_log_sense(int sg_fd, int ppc, int sp, int pc, int pg_code,
int subpg_code, int paramp, unsigned char * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "log sense";
int res, ret, k, sense_cat, resid;
- unsigned char logsCmdBlk[LOG_SENSE_CMDLEN] =
+ unsigned char logs_cdb[LOG_SENSE_CMDLEN] =
{LOG_SENSE_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -703,28 +699,25 @@ sg_ll_log_sense(int sg_fd, int ppc, int sp, int pc, int pg_code,
pr2ws("mx_resp_len too big\n");
return -1;
}
- logsCmdBlk[1] = (unsigned char)((ppc ? 2 : 0) | (sp ? 1 : 0));
- logsCmdBlk[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
- logsCmdBlk[3] = (unsigned char)(subpg_code & 0xff);
- sg_put_unaligned_be16((int16_t)paramp, logsCmdBlk + 5);
- sg_put_unaligned_be16((int16_t)mx_resp_len, logsCmdBlk + 7);
+ logs_cdb[1] = (unsigned char)((ppc ? 2 : 0) | (sp ? 1 : 0));
+ logs_cdb[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
+ logs_cdb[3] = (unsigned char)(subpg_code & 0xff);
+ sg_put_unaligned_be16((int16_t)paramp, logs_cdb + 5);
+ sg_put_unaligned_be16((int16_t)mx_resp_len, logs_cdb + 7);
if (verbose) {
- pr2ws(" log sense cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < LOG_SENSE_CMDLEN; ++k)
- pr2ws("%02x ", logsCmdBlk[k]);
+ pr2ws("%02x ", logs_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("log sense: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, logsCmdBlk, sizeof(logsCmdBlk));
+ set_scsi_pt_cdb(ptvp, logs_cdb, sizeof(logs_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "log sense", res, mx_resp_len,
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len,
sense_b, noisy, verbose, &sense_cat);
resid = get_scsi_pt_resid(ptvp);
destruct_scsi_pt_obj(ptvp);
@@ -751,8 +744,8 @@ sg_ll_log_sense(int sg_fd, int ppc, int sp, int pc, int pg_code,
if (resid > 0) {
if (resid > mx_resp_len) {
- pr2ws("log sense: resid (%d) should never exceed requested "
- "len=%d\n", resid, mx_resp_len);
+ pr2ws("%s: resid (%d) should never exceed requested len=%d\n",
+ cdb_name_s, resid, mx_resp_len);
return ret ? ret : SG_LIB_CAT_MALFORMED;
}
/* zero unfilled section of response buffer */
@@ -768,42 +761,40 @@ sg_ll_log_select(int sg_fd, int pcr, int sp, int pc, int pg_code,
int subpg_code, unsigned char * paramp, int param_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "log select";
int res, ret, k, sense_cat;
- unsigned char logsCmdBlk[LOG_SELECT_CMDLEN] =
+ unsigned char logs_cdb[LOG_SELECT_CMDLEN] =
{LOG_SELECT_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (param_len > 0xffff) {
- pr2ws("log select: param_len too big\n");
+ pr2ws("%s: param_len too big\n", cdb_name_s);
return -1;
}
- logsCmdBlk[1] = (unsigned char)((pcr ? 2 : 0) | (sp ? 1 : 0));
- logsCmdBlk[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
- logsCmdBlk[3] = (unsigned char)(subpg_code & 0xff);
- sg_put_unaligned_be16((int16_t)param_len, logsCmdBlk + 7);
+ logs_cdb[1] = (unsigned char)((pcr ? 2 : 0) | (sp ? 1 : 0));
+ logs_cdb[2] = (unsigned char)(((pc << 6) & 0xc0) | (pg_code & 0x3f));
+ logs_cdb[3] = (unsigned char)(subpg_code & 0xff);
+ sg_put_unaligned_be16((int16_t)param_len, logs_cdb + 7);
if (verbose) {
- pr2ws(" log select cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < LOG_SELECT_CMDLEN; ++k)
- pr2ws("%02x ", logsCmdBlk[k]);
+ pr2ws("%02x ", logs_cdb[k]);
pr2ws("\n");
}
if ((verbose > 1) && (param_len > 0)) {
- pr2ws(" log select parameter list\n");
+ pr2ws(" %s parameter list\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("log select: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, logsCmdBlk, sizeof(logsCmdBlk));
+ set_scsi_pt_cdb(ptvp, logs_cdb, sizeof(logs_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "log select", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -836,6 +827,7 @@ sg_ll_start_stop_unit(int sg_fd, int immed, int pc_mod__fl_num,
int power_cond, int noflush__fl, int loej, int start,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "start stop unit";
int k, res, ret, sense_cat;
struct sg_pt_base * ptvp;
unsigned char ssuBlk[START_STOP_CMDLEN] = {START_STOP_CMD, 0, 0, 0, 0, 0};
@@ -846,22 +838,19 @@ sg_ll_start_stop_unit(int sg_fd, int immed, int pc_mod__fl_num,
ssuBlk[4] = ((power_cond & 0xf) << 4) | (noflush__fl ? 0x4 : 0) |
(loej ? 0x2 : 0) | (start ? 0x1 : 0);
if (verbose) {
- pr2ws(" Start stop unit command:");
+ pr2ws(" %s command:", cdb_name_s);
for (k = 0; k < (int)sizeof(ssuBlk); ++k)
pr2ws(" %02x", ssuBlk[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("start stop unit: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, ssuBlk, sizeof(ssuBlk));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, START_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "start stop unit", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -888,8 +877,9 @@ sg_ll_start_stop_unit(int sg_fd, int immed, int pc_mod__fl_num,
int
sg_ll_prevent_allow(int sg_fd, int prevent, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "prevent allow medium removal";
int k, res, ret, sense_cat;
- unsigned char pCmdBlk[PREVENT_ALLOW_CMDLEN] =
+ unsigned char p_cdb[PREVENT_ALLOW_CMDLEN] =
{PREVENT_ALLOW_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -898,24 +888,21 @@ sg_ll_prevent_allow(int sg_fd, int prevent, int noisy, int verbose)
pr2ws("prevent argument should be 0, 1, 2 or 3\n");
return -1;
}
- pCmdBlk[4] |= (prevent & 0x3);
+ p_cdb[4] |= (prevent & 0x3);
if (verbose) {
- pr2ws(" Prevent allow medium removal cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < PREVENT_ALLOW_CMDLEN; ++k)
- pr2ws("%02x ", pCmdBlk[k]);
+ pr2ws("%02x ", p_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("prevent allow medium removal: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, pCmdBlk, sizeof(pCmdBlk));
+ set_scsi_pt_cdb(ptvp, p_cdb, sizeof(p_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "prevent allow medium removal", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
diff --git a/lib/sg_cmds_extra.c b/lib/sg_cmds_extra.c
index 022870f5..dd5430ac 100644
--- a/lib/sg_cmds_extra.c
+++ b/lib/sg_cmds_extra.c
@@ -113,6 +113,15 @@ pr2ws(const char * fmt, ...)
return n;
}
+static struct sg_pt_base *
+create_pt_obj(const char * cname)
+{
+ struct sg_pt_base * ptvp = construct_scsi_pt_obj();
+ if (NULL == ptvp)
+ pr2ws("%s: out of memory\n", cname);
+ return ptvp;
+}
+
/* Invokes a SCSI GET LBA STATUS command (SBC). Returns 0 -> success,
* various SG_LIB_CAT_* positive values or -1 -> other errors */
@@ -120,6 +129,7 @@ int
sg_ll_get_lba_status(int sg_fd, uint64_t start_llba, void * resp,
int alloc_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "get LBA status";
int k, res, sense_cat, ret;
unsigned char getLbaStatCmd[SERVICE_ACTION_IN_16_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
@@ -132,23 +142,20 @@ sg_ll_get_lba_status(int sg_fd, uint64_t start_llba, void * resp,
sg_put_unaligned_be64(start_llba, getLbaStatCmd + 2);
sg_put_unaligned_be32((uint32_t)alloc_len, getLbaStatCmd + 10);
if (verbose) {
- pr2ws(" Get LBA status cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_IN_16_CMDLEN; ++k)
pr2ws("%02x ", getLbaStatCmd[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("get LBA status: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, getLbaStatCmd, sizeof(getLbaStatCmd));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, alloc_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "get LBA status", res, alloc_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, alloc_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -163,7 +170,7 @@ sg_ll_get_lba_status(int sg_fd, uint64_t start_llba, void * resp,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" get LBA status: response\n");
+ pr2ws(" %s: response\n", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -192,36 +199,33 @@ int
sg_ll_report_tgt_prt_grp2(int sg_fd, void * resp, int mx_resp_len,
int extended, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "report target port groups";
int k, res, ret, sense_cat;
- unsigned char rtpgCmdBlk[MAINTENANCE_IN_CMDLEN] =
+ unsigned char rtpg_cdb[MAINTENANCE_IN_CMDLEN] =
{MAINTENANCE_IN_CMD, REPORT_TGT_PRT_GRP_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (extended) {
- rtpgCmdBlk[1] |= 0x20;
+ rtpg_cdb[1] |= 0x20;
}
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rtpgCmdBlk + 6);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rtpg_cdb + 6);
if (verbose) {
- pr2ws(" report target port groups cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MAINTENANCE_IN_CMDLEN; ++k)
- pr2ws("%02x ", rtpgCmdBlk[k]);
+ pr2ws("%02x ", rtpg_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("report target port groups: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rtpgCmdBlk, sizeof(rtpgCmdBlk));
+ set_scsi_pt_cdb(ptvp, rtpg_cdb, sizeof(rtpg_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "report target port group", res,
- mx_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -236,7 +240,7 @@ sg_ll_report_tgt_prt_grp2(int sg_fd, void * resp, int mx_resp_len,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" report target port group: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -257,36 +261,34 @@ int
sg_ll_set_tgt_prt_grp(int sg_fd, void * paramp, int param_len, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "set target port groups";
int k, res, ret, sense_cat;
- unsigned char stpgCmdBlk[MAINTENANCE_OUT_CMDLEN] =
+ unsigned char stpg_cdb[MAINTENANCE_OUT_CMDLEN] =
{MAINTENANCE_OUT_CMD, SET_TGT_PRT_GRP_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32((uint32_t)param_len, stpgCmdBlk + 6);
+ sg_put_unaligned_be32((uint32_t)param_len, stpg_cdb + 6);
if (verbose) {
- pr2ws(" set target port groups cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MAINTENANCE_OUT_CMDLEN; ++k)
- pr2ws("%02x ", stpgCmdBlk[k]);
+ pr2ws("%02x ", stpg_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
- pr2ws(" set target port groups parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("set target port groups: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, stpgCmdBlk, sizeof(stpgCmdBlk));
+ set_scsi_pt_cdb(ptvp, stpg_cdb, sizeof(stpg_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "set target port group", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -312,35 +314,32 @@ sg_ll_report_referrals(int sg_fd, uint64_t start_llba, int one_seg,
void * resp, int mx_resp_len, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "report referrals";
int k, res, ret, sense_cat;
- unsigned char repRefCmdBlk[SERVICE_ACTION_IN_16_CMDLEN] =
+ unsigned char repRef_cdb[SERVICE_ACTION_IN_16_CMDLEN] =
{SERVICE_ACTION_IN_16_CMD, REPORT_REFERRALS_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be64(start_llba, repRefCmdBlk + 2);
- sg_put_unaligned_be32((uint32_t)mx_resp_len, repRefCmdBlk + 10);
- repRefCmdBlk[14] = one_seg & 0x1;
+ sg_put_unaligned_be64(start_llba, repRef_cdb + 2);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, repRef_cdb + 10);
+ repRef_cdb[14] = one_seg & 0x1;
if (verbose) {
- pr2ws(" report referrals cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_IN_16_CMDLEN; ++k)
- pr2ws("%02x ", repRefCmdBlk[k]);
+ pr2ws("%02x ", repRef_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("report target port groups: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, repRefCmdBlk, sizeof(repRefCmdBlk));
+ set_scsi_pt_cdb(ptvp, repRef_cdb, sizeof(repRef_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "report referrals", res,
- mx_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -355,7 +354,7 @@ sg_ll_report_referrals(int sg_fd, uint64_t start_llba, int one_seg,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" report referrals: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -380,45 +379,43 @@ sg_ll_send_diag(int sg_fd, int sf_code, int pf_bit, int sf_bit, int devofl_bit,
int unitofl_bit, int long_duration, void * paramp,
int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "send diagnostic";
int k, res, ret, sense_cat, tmout;
- unsigned char senddiagCmdBlk[SEND_DIAGNOSTIC_CMDLEN] =
+ unsigned char senddiag_cdb[SEND_DIAGNOSTIC_CMDLEN] =
{SEND_DIAGNOSTIC_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- senddiagCmdBlk[1] = (unsigned char)((sf_code << 5) | (pf_bit << 4) |
+ senddiag_cdb[1] = (unsigned char)((sf_code << 5) | (pf_bit << 4) |
(sf_bit << 2) | (devofl_bit << 1) | unitofl_bit);
- sg_put_unaligned_be16((uint16_t)param_len, senddiagCmdBlk + 3);
+ sg_put_unaligned_be16((uint16_t)param_len, senddiag_cdb + 3);
if (long_duration > LONG_PT_TIMEOUT)
tmout = long_duration;
else
tmout = long_duration ? LONG_PT_TIMEOUT : DEF_PT_TIMEOUT;
if (verbose) {
- pr2ws(" Send diagnostic cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SEND_DIAGNOSTIC_CMDLEN; ++k)
- pr2ws("%02x ", senddiagCmdBlk[k]);
+ pr2ws("%02x ", senddiag_cdb[k]);
pr2ws("\n");
if (verbose > 1) {
if (paramp && param_len) {
- pr2ws(" Send diagnostic parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- pr2ws(" Send diagnostic timeout: %d seconds\n", tmout);
+ pr2ws(" %s timeout: %d seconds\n", cdb_name_s, tmout);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("send diagnostic: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, senddiagCmdBlk, sizeof(senddiagCmdBlk));
+ set_scsi_pt_cdb(ptvp, senddiag_cdb, sizeof(senddiag_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, tmout, verbose);
- ret = sg_cmds_process_resp(ptvp, "send diagnostic", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -444,35 +441,32 @@ int
sg_ll_receive_diag(int sg_fd, int pcv, int pg_code, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "receive diagnostic results";
int k, res, ret, sense_cat;
- unsigned char rcvdiagCmdBlk[RECEIVE_DIAGNOSTICS_CMDLEN] =
+ unsigned char rcvdiag_cdb[RECEIVE_DIAGNOSTICS_CMDLEN] =
{RECEIVE_DIAGNOSTICS_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- rcvdiagCmdBlk[1] = (unsigned char)(pcv ? 0x1 : 0);
- rcvdiagCmdBlk[2] = (unsigned char)(pg_code);
- sg_put_unaligned_be16((uint16_t)mx_resp_len, rcvdiagCmdBlk + 3);
+ rcvdiag_cdb[1] = (unsigned char)(pcv ? 0x1 : 0);
+ rcvdiag_cdb[2] = (unsigned char)(pg_code);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, rcvdiag_cdb + 3);
if (verbose) {
- pr2ws(" Receive diagnostic results cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < RECEIVE_DIAGNOSTICS_CMDLEN; ++k)
- pr2ws("%02x ", rcvdiagCmdBlk[k]);
+ pr2ws("%02x ", rcvdiag_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("receive diagnostic results: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rcvdiagCmdBlk, sizeof(rcvdiagCmdBlk));
+ set_scsi_pt_cdb(ptvp, rcvdiag_cdb, sizeof(rcvdiag_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "receive diagnostic results", res,
- mx_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -487,7 +481,7 @@ sg_ll_receive_diag(int sg_fd, int pcv, int pg_code, void * resp,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" receive diagnostic results: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -508,37 +502,35 @@ int
sg_ll_read_defect10(int sg_fd, int req_plist, int req_glist, int dl_format,
void * resp, int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read defect(10)";
int res, k, ret, sense_cat;
- unsigned char rdefCmdBlk[READ_DEFECT10_CMDLEN] =
+ unsigned char rdef_cdb[READ_DEFECT10_CMDLEN] =
{READ_DEFECT10_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- rdefCmdBlk[2] = (unsigned char)(((req_plist << 4) & 0x10) |
+ rdef_cdb[2] = (unsigned char)(((req_plist << 4) & 0x10) |
((req_glist << 3) & 0x8) | (dl_format & 0x7));
- sg_put_unaligned_be16((uint16_t)mx_resp_len, rdefCmdBlk + 7);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, rdef_cdb + 7);
if (mx_resp_len > 0xffff) {
pr2ws("mx_resp_len too big\n");
return -1;
}
if (verbose) {
- pr2ws(" read defect (10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < READ_DEFECT10_CMDLEN; ++k)
- pr2ws("%02x ", rdefCmdBlk[k]);
+ pr2ws("%02x ", rdef_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read defect (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rdefCmdBlk, sizeof(rdefCmdBlk));
+ set_scsi_pt_cdb(ptvp, rdef_cdb, sizeof(rdef_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read defect (10)", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -553,7 +545,7 @@ sg_ll_read_defect10(int sg_fd, int req_plist, int req_glist, int dl_format,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read defect (10): response\n");
+ pr2ws(" %s: response\n", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -574,33 +566,30 @@ int
sg_ll_read_media_serial_num(int sg_fd, void * resp, int mx_resp_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read media serial number";
int k, res, ret, sense_cat;
- unsigned char rmsnCmdBlk[SERVICE_ACTION_IN_12_CMDLEN] =
+ unsigned char rmsn_cdb[SERVICE_ACTION_IN_12_CMDLEN] =
{SERVICE_ACTION_IN_12_CMD, READ_MEDIA_SERIAL_NUM_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rmsnCmdBlk + 6);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rmsn_cdb + 6);
if (verbose) {
- pr2ws(" read media serial number cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_IN_12_CMDLEN; ++k)
- pr2ws("%02x ", rmsnCmdBlk[k]);
+ pr2ws("%02x ", rmsn_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read media serial number: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rmsnCmdBlk, sizeof(rmsnCmdBlk));
+ set_scsi_pt_cdb(ptvp, rmsn_cdb, sizeof(rmsn_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read media serial number", res,
- mx_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -615,7 +604,7 @@ sg_ll_read_media_serial_num(int sg_fd, void * resp, int mx_resp_len,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read media serial number: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -637,35 +626,32 @@ int
sg_ll_report_id_info(int sg_fd, int itype, void * resp, int max_resp_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "report identifying information";
int k, res, ret, sense_cat;
- unsigned char riiCmdBlk[MAINTENANCE_IN_CMDLEN] = {MAINTENANCE_IN_CMD,
+ unsigned char rii_cdb[MAINTENANCE_IN_CMDLEN] = {MAINTENANCE_IN_CMD,
REPORT_IDENTIFYING_INFORMATION_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32((uint32_t)max_resp_len, riiCmdBlk + 6);
- riiCmdBlk[10] |= (itype << 1) & 0xfe;
+ sg_put_unaligned_be32((uint32_t)max_resp_len, rii_cdb + 6);
+ rii_cdb[10] |= (itype << 1) & 0xfe;
if (verbose) {
- pr2ws(" Report identifying information cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MAINTENANCE_IN_CMDLEN; ++k)
- pr2ws("%02x ", riiCmdBlk[k]);
+ pr2ws("%02x ", rii_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("report identifying information: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, riiCmdBlk, sizeof(riiCmdBlk));
+ set_scsi_pt_cdb(ptvp, rii_cdb, sizeof(rii_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, max_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "report identifying information", res,
- max_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, max_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -680,7 +666,7 @@ sg_ll_report_id_info(int sg_fd, int itype, void * resp, int max_resp_len,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" report identifying information: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -702,37 +688,35 @@ int
sg_ll_set_id_info(int sg_fd, int itype, void * paramp, int param_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "set identifying information";
int k, res, ret, sense_cat;
- unsigned char siiCmdBlk[MAINTENANCE_OUT_CMDLEN] = {MAINTENANCE_OUT_CMD,
+ unsigned char sii_cdb[MAINTENANCE_OUT_CMDLEN] = {MAINTENANCE_OUT_CMD,
SET_IDENTIFYING_INFORMATION_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32((uint32_t)param_len, siiCmdBlk + 6);
- siiCmdBlk[10] |= (itype << 1) & 0xfe;
+ sg_put_unaligned_be32((uint32_t)param_len, sii_cdb + 6);
+ sii_cdb[10] |= (itype << 1) & 0xfe;
if (verbose) {
- pr2ws(" Set identifying information cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < MAINTENANCE_OUT_CMDLEN; ++k)
- pr2ws("%02x ", siiCmdBlk[k]);
+ pr2ws("%02x ", sii_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
- pr2ws(" Set identifying information parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("Set identifying information: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, siiCmdBlk, sizeof(siiCmdBlk));
+ set_scsi_pt_cdb(ptvp, sii_cdb, sizeof(sii_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "set identifying information", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -772,50 +756,48 @@ sg_ll_format_unit2(int sg_fd, int fmtpinfo, int longlist, int fmtdata,
int cmplst, int dlist_format, int ffmt, int timeout_secs,
void * paramp, int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "format unit";
int k, res, ret, sense_cat, tmout;
- unsigned char fuCmdBlk[FORMAT_UNIT_CMDLEN] =
+ unsigned char fu_cdb[FORMAT_UNIT_CMDLEN] =
{FORMAT_UNIT_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (fmtpinfo)
- fuCmdBlk[1] |= (fmtpinfo << 6);
+ fu_cdb[1] |= (fmtpinfo << 6);
if (longlist)
- fuCmdBlk[1] |= 0x20;
+ fu_cdb[1] |= 0x20;
if (fmtdata)
- fuCmdBlk[1] |= 0x10;
+ fu_cdb[1] |= 0x10;
if (cmplst)
- fuCmdBlk[1] |= 0x8;
+ fu_cdb[1] |= 0x8;
if (dlist_format)
- fuCmdBlk[1] |= (dlist_format & 0x7);
+ fu_cdb[1] |= (dlist_format & 0x7);
if (ffmt)
- fuCmdBlk[4] |= (ffmt & 0x3);
+ fu_cdb[4] |= (ffmt & 0x3);
tmout = (timeout_secs > 0) ? timeout_secs : DEF_PT_TIMEOUT;
if (verbose) {
- pr2ws(" format unit cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < 6; ++k)
- pr2ws("%02x ", fuCmdBlk[k]);
+ pr2ws("%02x ", fu_cdb[k]);
pr2ws("\n");
if (verbose > 1) {
if (param_len > 0) {
- pr2ws(" format unit parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- pr2ws(" format unit timeout: %d seconds\n", tmout);
+ pr2ws(" %s timeout: %d seconds\n", cdb_name_s, tmout);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("format unit: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, fuCmdBlk, sizeof(fuCmdBlk));
+ set_scsi_pt_cdb(ptvp, fu_cdb, sizeof(fu_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, tmout, verbose);
- ret = sg_cmds_process_resp(ptvp, "format unit", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -841,36 +823,34 @@ int
sg_ll_reassign_blocks(int sg_fd, int longlba, int longlist, void * paramp,
int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "reassign blocks";
int res, k, ret, sense_cat;
- unsigned char reassCmdBlk[REASSIGN_BLKS_CMDLEN] =
+ unsigned char reass_cdb[REASSIGN_BLKS_CMDLEN] =
{REASSIGN_BLKS_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- reassCmdBlk[1] = (unsigned char)(((longlba << 1) & 0x2) |
+ reass_cdb[1] = (unsigned char)(((longlba << 1) & 0x2) |
(longlist & 0x1));
if (verbose) {
- pr2ws(" reassign blocks cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < REASSIGN_BLKS_CMDLEN; ++k)
- pr2ws("%02x ", reassCmdBlk[k]);
+ pr2ws("%02x ", reass_cdb[k]);
pr2ws("\n");
}
if (verbose > 1) {
- pr2ws(" reassign blocks parameter list\n");
+ pr2ws(" %s parameter list\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("reassign blocks: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, reassCmdBlk, sizeof(reassCmdBlk));
+ set_scsi_pt_cdb(ptvp, reass_cdb, sizeof(reass_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "reassign blocks", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -897,35 +877,32 @@ int
sg_ll_persistent_reserve_in(int sg_fd, int rq_servact, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "persistent reservation in";
int res, k, ret, sense_cat;
- unsigned char prinCmdBlk[PERSISTENT_RESERVE_IN_CMDLEN] =
+ unsigned char prin_cdb[PERSISTENT_RESERVE_IN_CMDLEN] =
{PERSISTENT_RESERVE_IN_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (rq_servact > 0)
- prinCmdBlk[1] = (unsigned char)(rq_servact & 0x1f);
- sg_put_unaligned_be16((uint16_t)mx_resp_len, prinCmdBlk + 7);
+ prin_cdb[1] = (unsigned char)(rq_servact & 0x1f);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, prin_cdb + 7);
if (verbose) {
- pr2ws(" Persistent Reservation In cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < PERSISTENT_RESERVE_IN_CMDLEN; ++k)
- pr2ws("%02x ", prinCmdBlk[k]);
+ pr2ws("%02x ", prin_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("persistent reservation in: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, prinCmdBlk, sizeof(prinCmdBlk));
+ set_scsi_pt_cdb(ptvp, prin_cdb, sizeof(prin_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "persistent reservation in", res,
- mx_resp_len, sense_b, noisy, verbose,
- &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -940,7 +917,7 @@ sg_ll_persistent_reserve_in(int sg_fd, int rq_servact, void * resp,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" persistent reserve in: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -963,39 +940,37 @@ sg_ll_persistent_reserve_out(int sg_fd, int rq_servact, int rq_scope,
unsigned int rq_type, void * paramp,
int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "persistent reservation out";
int res, k, ret, sense_cat;
- unsigned char proutCmdBlk[PERSISTENT_RESERVE_OUT_CMDLEN] =
+ unsigned char prout_cdb[PERSISTENT_RESERVE_OUT_CMDLEN] =
{PERSISTENT_RESERVE_OUT_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (rq_servact > 0)
- proutCmdBlk[1] = (unsigned char)(rq_servact & 0x1f);
- proutCmdBlk[2] = (((rq_scope & 0xf) << 4) | (rq_type & 0xf));
- sg_put_unaligned_be16((uint16_t)param_len, proutCmdBlk + 7);
+ prout_cdb[1] = (unsigned char)(rq_servact & 0x1f);
+ prout_cdb[2] = (((rq_scope & 0xf) << 4) | (rq_type & 0xf));
+ sg_put_unaligned_be16((uint16_t)param_len, prout_cdb + 7);
if (verbose) {
- pr2ws(" Persistent Reservation Out cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < PERSISTENT_RESERVE_OUT_CMDLEN; ++k)
- pr2ws("%02x ", proutCmdBlk[k]);
+ pr2ws("%02x ", prout_cdb[k]);
pr2ws("\n");
if (verbose > 1) {
- pr2ws(" Persistent Reservation Out parameters:\n");
+ pr2ws(" %s parameters:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, 0);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("persistent reserve out: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, proutCmdBlk, sizeof(proutCmdBlk));
+ set_scsi_pt_cdb(ptvp, prout_cdb, sizeof(prout_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "persistent reserve out", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1041,38 +1016,36 @@ sg_ll_read_long10(int sg_fd, int pblock, int correct, unsigned int lba,
void * resp, int xfer_len, int * offsetp, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "read long(10)";
int k, res, sense_cat, ret;
- unsigned char readLongCmdBlk[READ_LONG10_CMDLEN];
+ unsigned char readLong_cdb[READ_LONG10_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- memset(readLongCmdBlk, 0, READ_LONG10_CMDLEN);
- readLongCmdBlk[0] = READ_LONG10_CMD;
+ memset(readLong_cdb, 0, READ_LONG10_CMDLEN);
+ readLong_cdb[0] = READ_LONG10_CMD;
if (pblock)
- readLongCmdBlk[1] |= 0x4;
+ readLong_cdb[1] |= 0x4;
if (correct)
- readLongCmdBlk[1] |= 0x2;
+ readLong_cdb[1] |= 0x2;
- sg_put_unaligned_be32((uint32_t)lba, readLongCmdBlk + 2);
- sg_put_unaligned_be16((uint16_t)xfer_len, readLongCmdBlk + 7);
+ sg_put_unaligned_be32((uint32_t)lba, readLong_cdb + 2);
+ sg_put_unaligned_be16((uint16_t)xfer_len, readLong_cdb + 7);
if (verbose) {
- pr2ws(" Read Long (10) cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < READ_LONG10_CMDLEN; ++k)
- pr2ws("%02x ", readLongCmdBlk[k]);
+ pr2ws("%02x ", readLong_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read long (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, readLongCmdBlk, sizeof(readLongCmdBlk));
+ set_scsi_pt_cdb(ptvp, readLong_cdb, sizeof(readLong_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, xfer_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read long (10)", res, xfer_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, xfer_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1107,7 +1080,7 @@ sg_ll_read_long10(int sg_fd, int pblock, int correct, unsigned int lba,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read long(10): response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -1130,39 +1103,37 @@ sg_ll_read_long16(int sg_fd, int pblock, int correct, uint64_t llba,
void * resp, int xfer_len, int * offsetp, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "read long(16)";
int k, res, sense_cat, ret;
- unsigned char readLongCmdBlk[SERVICE_ACTION_IN_16_CMDLEN];
+ unsigned char readLong_cdb[SERVICE_ACTION_IN_16_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- memset(readLongCmdBlk, 0, sizeof(readLongCmdBlk));
- readLongCmdBlk[0] = SERVICE_ACTION_IN_16_CMD;
- readLongCmdBlk[1] = READ_LONG_16_SA;
+ memset(readLong_cdb, 0, sizeof(readLong_cdb));
+ readLong_cdb[0] = SERVICE_ACTION_IN_16_CMD;
+ readLong_cdb[1] = READ_LONG_16_SA;
if (pblock)
- readLongCmdBlk[14] |= 0x2;
+ readLong_cdb[14] |= 0x2;
if (correct)
- readLongCmdBlk[14] |= 0x1;
+ readLong_cdb[14] |= 0x1;
- sg_put_unaligned_be64(llba, readLongCmdBlk + 2);
- sg_put_unaligned_be16((uint16_t)xfer_len, readLongCmdBlk + 12);
+ sg_put_unaligned_be64(llba, readLong_cdb + 2);
+ sg_put_unaligned_be16((uint16_t)xfer_len, readLong_cdb + 12);
if (verbose) {
- pr2ws(" Read Long (16) cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_IN_16_CMDLEN; ++k)
- pr2ws("%02x ", readLongCmdBlk[k]);
+ pr2ws("%02x ", readLong_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read long (16): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, readLongCmdBlk, sizeof(readLongCmdBlk));
+ set_scsi_pt_cdb(ptvp, readLong_cdb, sizeof(readLong_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, xfer_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read long (16)", res, xfer_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, xfer_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1197,7 +1168,7 @@ sg_ll_read_long16(int sg_fd, int pblock, int correct, uint64_t llba,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read long(16): response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -1220,40 +1191,38 @@ sg_ll_write_long10(int sg_fd, int cor_dis, int wr_uncor, int pblock,
unsigned int lba, void * data_out, int xfer_len,
int * offsetp, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "write long(10)";
int k, res, sense_cat, ret;
- unsigned char writeLongCmdBlk[WRITE_LONG10_CMDLEN];
+ unsigned char writeLong_cdb[WRITE_LONG10_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- memset(writeLongCmdBlk, 0, WRITE_LONG10_CMDLEN);
- writeLongCmdBlk[0] = WRITE_LONG10_CMD;
+ memset(writeLong_cdb, 0, WRITE_LONG10_CMDLEN);
+ writeLong_cdb[0] = WRITE_LONG10_CMD;
if (cor_dis)
- writeLongCmdBlk[1] |= 0x80;
+ writeLong_cdb[1] |= 0x80;
if (wr_uncor)
- writeLongCmdBlk[1] |= 0x40;
+ writeLong_cdb[1] |= 0x40;
if (pblock)
- writeLongCmdBlk[1] |= 0x20;
+ writeLong_cdb[1] |= 0x20;
- sg_put_unaligned_be32((uint32_t)lba, writeLongCmdBlk + 2);
- sg_put_unaligned_be16((uint16_t)xfer_len, writeLongCmdBlk + 7);
+ sg_put_unaligned_be32((uint32_t)lba, writeLong_cdb + 2);
+ sg_put_unaligned_be16((uint16_t)xfer_len, writeLong_cdb + 7);
if (verbose) {
- pr2ws(" Write Long (10) cmd: ");
- for (k = 0; k < (int)sizeof(writeLongCmdBlk); ++k)
- pr2ws("%02x ", writeLongCmdBlk[k]);
+ pr2ws(" %s cdb: ", cdb_name_s);
+ for (k = 0; k < (int)sizeof(writeLong_cdb); ++k)
+ pr2ws("%02x ", writeLong_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("write long(10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, writeLongCmdBlk, sizeof(writeLongCmdBlk));
+ set_scsi_pt_cdb(ptvp, writeLong_cdb, sizeof(writeLong_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)data_out, xfer_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "write long(10)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1301,41 +1270,39 @@ sg_ll_write_long16(int sg_fd, int cor_dis, int wr_uncor, int pblock,
uint64_t llba, void * data_out, int xfer_len,
int * offsetp, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "write long(16)";
int k, res, sense_cat, ret;
- unsigned char writeLongCmdBlk[SERVICE_ACTION_OUT_16_CMDLEN];
+ unsigned char writeLong_cdb[SERVICE_ACTION_OUT_16_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- memset(writeLongCmdBlk, 0, sizeof(writeLongCmdBlk));
- writeLongCmdBlk[0] = SERVICE_ACTION_OUT_16_CMD;
- writeLongCmdBlk[1] = WRITE_LONG_16_SA;
+ memset(writeLong_cdb, 0, sizeof(writeLong_cdb));
+ writeLong_cdb[0] = SERVICE_ACTION_OUT_16_CMD;
+ writeLong_cdb[1] = WRITE_LONG_16_SA;
if (cor_dis)
- writeLongCmdBlk[1] |= 0x80;
+ writeLong_cdb[1] |= 0x80;
if (wr_uncor)
- writeLongCmdBlk[1] |= 0x40;
+ writeLong_cdb[1] |= 0x40;
if (pblock)
- writeLongCmdBlk[1] |= 0x20;
+ writeLong_cdb[1] |= 0x20;
- sg_put_unaligned_be64(llba, writeLongCmdBlk + 2);
- sg_put_unaligned_be16((uint16_t)xfer_len, writeLongCmdBlk + 12);
+ sg_put_unaligned_be64(llba, writeLong_cdb + 2);
+ sg_put_unaligned_be16((uint16_t)xfer_len, writeLong_cdb + 12);
if (verbose) {
- pr2ws(" Write Long (16) cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SERVICE_ACTION_OUT_16_CMDLEN; ++k)
- pr2ws("%02x ", writeLongCmdBlk[k]);
+ pr2ws("%02x ", writeLong_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("write long(16): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, writeLongCmdBlk, sizeof(writeLongCmdBlk));
+ set_scsi_pt_cdb(ptvp, writeLong_cdb, sizeof(writeLong_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)data_out, xfer_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "write long(16)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1385,21 +1352,22 @@ sg_ll_verify10(int sg_fd, int vrprotect, int dpo, int bytchk,
int data_out_len, unsigned int * infop, int noisy,
int verbose)
{
+ static const char * const cdb_name_s = "verify(10)";
int k, res, ret, sense_cat, slen;
- unsigned char vCmdBlk[VERIFY10_CMDLEN] =
+ unsigned char v_cdb[VERIFY10_CMDLEN] =
{VERIFY10_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
/* N.B. BYTCHK field expanded to 2 bits sbc3r34 */
- vCmdBlk[1] = ((vrprotect & 0x7) << 5) | ((dpo & 0x1) << 4) |
+ v_cdb[1] = ((vrprotect & 0x7) << 5) | ((dpo & 0x1) << 4) |
((bytchk & 0x3) << 1) ;
- sg_put_unaligned_be32((uint32_t)lba, vCmdBlk + 2);
- sg_put_unaligned_be16((uint16_t)veri_len, vCmdBlk + 7);
+ sg_put_unaligned_be32((uint32_t)lba, v_cdb + 2);
+ sg_put_unaligned_be16((uint16_t)veri_len, v_cdb + 7);
if (verbose > 1) {
- pr2ws(" Verify(10) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < VERIFY10_CMDLEN; ++k)
- pr2ws("%02x ", vCmdBlk[k]);
+ pr2ws("%02x ", v_cdb[k]);
pr2ws("\n");
if ((verbose > 3) && bytchk && data_out && (data_out_len > 0)) {
k = data_out_len > 4104 ? 4104 : data_out_len;
@@ -1408,18 +1376,15 @@ sg_ll_verify10(int sg_fd, int vrprotect, int dpo, int bytchk,
dStrHexErr((const char *)data_out, k, verbose < 5);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("verify (10): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, vCmdBlk, sizeof(vCmdBlk));
+ set_scsi_pt_cdb(ptvp, v_cdb, sizeof(v_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
if (data_out_len > 0)
set_scsi_pt_data_out(ptvp, (unsigned char *)data_out, data_out_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "verify (10)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1463,22 +1428,23 @@ sg_ll_verify16(int sg_fd, int vrprotect, int dpo, int bytchk, uint64_t llba,
int veri_len, int group_num, void * data_out,
int data_out_len, uint64_t * infop, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "verify(16)";
int k, res, ret, sense_cat, slen;
- unsigned char vCmdBlk[VERIFY16_CMDLEN] =
+ unsigned char v_cdb[VERIFY16_CMDLEN] =
{VERIFY16_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
/* N.B. BYTCHK field expanded to 2 bits sbc3r34 */
- vCmdBlk[1] = ((vrprotect & 0x7) << 5) | ((dpo & 0x1) << 4) |
+ v_cdb[1] = ((vrprotect & 0x7) << 5) | ((dpo & 0x1) << 4) |
((bytchk & 0x3) << 1) ;
- sg_put_unaligned_be64(llba, vCmdBlk + 2);
- sg_put_unaligned_be32((uint32_t)veri_len, vCmdBlk + 10);
- vCmdBlk[14] = group_num & 0x1f;
+ sg_put_unaligned_be64(llba, v_cdb + 2);
+ sg_put_unaligned_be32((uint32_t)veri_len, v_cdb + 10);
+ v_cdb[14] = group_num & 0x1f;
if (verbose > 1) {
- pr2ws(" Verify(16) cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < VERIFY16_CMDLEN; ++k)
- pr2ws("%02x ", vCmdBlk[k]);
+ pr2ws("%02x ", v_cdb[k]);
pr2ws("\n");
if ((verbose > 3) && bytchk && data_out && (data_out_len > 0)) {
k = data_out_len > 4104 ? 4104 : data_out_len;
@@ -1487,18 +1453,15 @@ sg_ll_verify16(int sg_fd, int vrprotect, int dpo, int bytchk, uint64_t llba,
dStrHexErr((const char *)data_out, k, verbose < 5);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("verify (16): out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, vCmdBlk, sizeof(vCmdBlk));
+ set_scsi_pt_cdb(ptvp, v_cdb, sizeof(v_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
if (data_out_len > 0)
set_scsi_pt_data_out(ptvp, (unsigned char *)data_out, data_out_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "verify (16)", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1560,7 +1523,7 @@ sg_ll_ata_pt(int sg_fd, const unsigned char * cdbp, int cdb_len,
int * residp, int verbose)
{
int k, res, slen, duration;
- unsigned char aptCmdBlk[ATA_PT_32_CMDLEN];
+ unsigned char apt_cdb[ATA_PT_32_CMDLEN];
unsigned char sense_b[SENSE_BUFF_LEN];
unsigned char * sp;
const unsigned char * bp;
@@ -1569,28 +1532,28 @@ sg_ll_ata_pt(int sg_fd, const unsigned char * cdbp, int cdb_len,
char b[256];
int ret = -1;
- memset(aptCmdBlk, 0, sizeof(aptCmdBlk));
+ memset(apt_cdb, 0, sizeof(apt_cdb));
b[0] = '\0';
switch (cdb_len) {
case 12:
cnamep = "ATA pass-through(12)";
- aptCmdBlk[0] = ATA_PT_12_CMD;
- memcpy(aptCmdBlk + 1, cdbp + 1, 10);
+ apt_cdb[0] = ATA_PT_12_CMD;
+ memcpy(apt_cdb + 1, cdbp + 1, 10);
/* control byte at cdb[11] left at zero */
break;
case 16:
cnamep = "ATA pass-through(16)";
- aptCmdBlk[0] = ATA_PT_16_CMD;
- memcpy(aptCmdBlk + 1, cdbp + 1, 14);
+ apt_cdb[0] = ATA_PT_16_CMD;
+ memcpy(apt_cdb + 1, cdbp + 1, 14);
/* control byte at cdb[15] left at zero */
break;
case 32:
cnamep = "ATA pass-through(32)";
- aptCmdBlk[0] = SG_VARIABLE_LENGTH_CMD;
+ apt_cdb[0] = SG_VARIABLE_LENGTH_CMD;
/* control byte at cdb[1] left at zero */
- aptCmdBlk[7] = 0x18; /* length starting at next byte */
- sg_put_unaligned_be16(ATA_PT_32_SA, aptCmdBlk + 8);
- memcpy(aptCmdBlk + 10, cdbp + 10, 32 - 10);
+ apt_cdb[7] = 0x18; /* length starting at next byte */
+ sg_put_unaligned_be16(ATA_PT_32_SA, apt_cdb + 8);
+ memcpy(apt_cdb + 10, cdbp + 10, 32 - 10);
break;
default:
pr2ws("cdb_len must be 12, 16 or 32\n");
@@ -1612,19 +1575,16 @@ sg_ll_ata_pt(int sg_fd, const unsigned char * cdbp, int cdb_len,
pr2ws(" %s cdb: ", cnamep);
if (cdb_len < 32) {
for (k = 0; k < cdb_len; ++k)
- pr2ws("%02x ", aptCmdBlk[k]);
+ pr2ws("%02x ", apt_cdb[k]);
pr2ws("\n");
} else {
pr2ws("\n");
- dStrHexErr((const char *)aptCmdBlk, cdb_len, -1);
+ dStrHexErr((const char *)apt_cdb, cdb_len, -1);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("%s: out of memory\n", cnamep);
+ if (NULL == ((ptvp = create_pt_obj(cnamep))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, aptCmdBlk, cdb_len);
+ set_scsi_pt_cdb(ptvp, apt_cdb, cdb_len);
set_scsi_pt_sense(ptvp, sp, slen);
if (dlen > 0) {
if (dinp)
@@ -1710,40 +1670,38 @@ out:
return ret;
}
-/* Invokes a SCSI READ BUFFER command (SPC). Return of 0 -> success
+/* Invokes a SCSI READ BUFFER(10) command (SPC). Return of 0 -> success
* various SG_LIB_CAT_* positive values or -1 -> other errors */
int
sg_ll_read_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset,
void * resp, int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read buffer(10)";
int res, k, ret, sense_cat;
- unsigned char rbufCmdBlk[READ_BUFFER_CMDLEN] =
+ unsigned char rbuf_cdb[READ_BUFFER_CMDLEN] =
{READ_BUFFER_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- rbufCmdBlk[1] = (unsigned char)(mode & 0x1f);
- rbufCmdBlk[2] = (unsigned char)(buffer_id & 0xff);
- sg_put_unaligned_be24((uint32_t)buffer_offset, rbufCmdBlk + 3);
- sg_put_unaligned_be24((uint32_t)mx_resp_len, rbufCmdBlk + 6);
+ rbuf_cdb[1] = (unsigned char)(mode & 0x1f);
+ rbuf_cdb[2] = (unsigned char)(buffer_id & 0xff);
+ sg_put_unaligned_be24((uint32_t)buffer_offset, rbuf_cdb + 3);
+ sg_put_unaligned_be24((uint32_t)mx_resp_len, rbuf_cdb + 6);
if (verbose) {
- pr2ws(" read buffer cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < READ_BUFFER_CMDLEN; ++k)
- pr2ws("%02x ", rbufCmdBlk[k]);
+ pr2ws("%02x ", rbuf_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read buffer: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rbufCmdBlk, sizeof(rbufCmdBlk));
+ set_scsi_pt_cdb(ptvp, rbuf_cdb, sizeof(rbuf_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read buffer", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1758,7 +1716,7 @@ sg_ll_read_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read buffer: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -1779,23 +1737,24 @@ int
sg_ll_write_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset,
void * paramp, int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "write buffer";
int k, res, ret, sense_cat;
- unsigned char wbufCmdBlk[WRITE_BUFFER_CMDLEN] =
+ unsigned char wbuf_cdb[WRITE_BUFFER_CMDLEN] =
{WRITE_BUFFER_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- wbufCmdBlk[1] = (unsigned char)(mode & 0x1f);
- wbufCmdBlk[2] = (unsigned char)(buffer_id & 0xff);
- sg_put_unaligned_be24((uint32_t)buffer_offset, wbufCmdBlk + 3);
- sg_put_unaligned_be24((uint32_t)param_len, wbufCmdBlk + 6);
+ wbuf_cdb[1] = (unsigned char)(mode & 0x1f);
+ wbuf_cdb[2] = (unsigned char)(buffer_id & 0xff);
+ sg_put_unaligned_be24((uint32_t)buffer_offset, wbuf_cdb + 3);
+ sg_put_unaligned_be24((uint32_t)param_len, wbuf_cdb + 6);
if (verbose) {
- pr2ws(" Write buffer cmd: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < WRITE_BUFFER_CMDLEN; ++k)
- pr2ws("%02x ", wbufCmdBlk[k]);
+ pr2ws("%02x ", wbuf_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
- pr2ws(" Write buffer parameter list");
+ pr2ws(" %s parameter list", cdb_name_s);
if (2 == verbose) {
pr2ws("%s:\n", (param_len > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)paramp,
@@ -1807,17 +1766,14 @@ sg_ll_write_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset,
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("write buffer: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, wbufCmdBlk, sizeof(wbufCmdBlk));
+ set_scsi_pt_cdb(ptvp, wbuf_cdb, sizeof(wbuf_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "write buffer", res, 0, sense_b,
- noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1853,39 +1809,37 @@ int
sg_ll_unmap_v2(int sg_fd, int anchor, int group_num, int timeout_secs,
void * paramp, int param_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "unmap";
int k, res, ret, sense_cat, tmout;
- unsigned char uCmdBlk[UNMAP_CMDLEN] =
+ unsigned char u_cdb[UNMAP_CMDLEN] =
{UNMAP_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (anchor)
- uCmdBlk[1] |= 0x1;
+ u_cdb[1] |= 0x1;
tmout = (timeout_secs > 0) ? timeout_secs : DEF_PT_TIMEOUT;
- uCmdBlk[6] = group_num & 0x1f;
- sg_put_unaligned_be16((uint16_t)param_len, uCmdBlk + 7);
+ u_cdb[6] = group_num & 0x1f;
+ sg_put_unaligned_be16((uint16_t)param_len, u_cdb + 7);
if (verbose) {
- pr2ws(" unmap cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < UNMAP_CMDLEN; ++k)
- pr2ws("%02x ", uCmdBlk[k]);
+ pr2ws("%02x ", u_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
- pr2ws(" unmap parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("unmap: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, uCmdBlk, sizeof(uCmdBlk));
+ set_scsi_pt_cdb(ptvp, u_cdb, sizeof(u_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, tmout, verbose);
- ret = sg_cmds_process_resp(ptvp, "unmap", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1910,30 +1864,28 @@ int
sg_ll_read_block_limits(int sg_fd, void * resp, int mx_resp_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "read block limits";
int k, ret, res, sense_cat;
- unsigned char rlCmdBlk[READ_BLOCK_LIMITS_CMDLEN] =
+ unsigned char rl_cdb[READ_BLOCK_LIMITS_CMDLEN] =
{READ_BLOCK_LIMITS_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (verbose) {
- pr2ws(" read block limits cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < READ_BLOCK_LIMITS_CMDLEN; ++k)
- pr2ws("%02x ", rlCmdBlk[k]);
+ pr2ws("%02x ", rl_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("read block limits: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rlCmdBlk, sizeof(rlCmdBlk));
+ set_scsi_pt_cdb(ptvp, rl_cdb, sizeof(rl_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "read block limits", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -1948,7 +1900,7 @@ sg_ll_read_block_limits(int sg_fd, void * resp, int mx_resp_len,
}
} else {
if ((verbose > 2) && (ret > 0)) {
- pr2ws(" read block limits: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (ret > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (ret > 256 ? 256 : ret), -1);
@@ -1971,33 +1923,30 @@ sg_ll_receive_copy_results(int sg_fd, int sa, int list_id, void * resp,
int mx_resp_len, int noisy, int verbose)
{
int k, res, ret, sense_cat;
- unsigned char rcvcopyresCmdBlk[THIRD_PARTY_COPY_IN_CMDLEN] =
+ unsigned char rcvcopyres_cdb[THIRD_PARTY_COPY_IN_CMDLEN] =
{THIRD_PARTY_COPY_IN_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
char b[64];
sg_get_opcode_sa_name(THIRD_PARTY_COPY_IN_CMD, sa, 0, (int)sizeof(b), b);
- rcvcopyresCmdBlk[1] = (unsigned char)(sa & 0x1f);
+ rcvcopyres_cdb[1] = (unsigned char)(sa & 0x1f);
if (sa <= 4) /* LID1 variants */
- rcvcopyresCmdBlk[2] = (unsigned char)(list_id);
+ rcvcopyres_cdb[2] = (unsigned char)(list_id);
else if ((sa >= 5) && (sa <= 7)) /* LID4 variants */
- sg_put_unaligned_be32((uint32_t)list_id, rcvcopyresCmdBlk + 2);
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rcvcopyresCmdBlk + 10);
+ sg_put_unaligned_be32((uint32_t)list_id, rcvcopyres_cdb + 2);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rcvcopyres_cdb + 10);
if (verbose) {
- pr2ws(" %s cmd: ", b);
+ pr2ws(" %s cdb: ", b);
for (k = 0; k < THIRD_PARTY_COPY_IN_CMDLEN; ++k)
- pr2ws("%02x ", rcvcopyresCmdBlk[k]);
+ pr2ws("%02x ", rcvcopyres_cdb[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("%s: out of memory\n", b);
+ if (NULL == ((ptvp = create_pt_obj(b))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, rcvcopyresCmdBlk, sizeof(rcvcopyresCmdBlk));
+ set_scsi_pt_cdb(ptvp, rcvcopyres_cdb, sizeof(rcvcopyres_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
@@ -2034,19 +1983,19 @@ sg_ll_extended_copy(int sg_fd, void * paramp, int param_len, int noisy,
int verbose)
{
int k, res, ret, sense_cat;
- unsigned char xcopyCmdBlk[THIRD_PARTY_COPY_OUT_CMDLEN] =
+ unsigned char xcopy_cdb[THIRD_PARTY_COPY_OUT_CMDLEN] =
{THIRD_PARTY_COPY_OUT_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
const char * opcode_name = "Extended copy (LID1)";
- xcopyCmdBlk[1] = (unsigned char)(EXTENDED_COPY_LID1_SA & 0x1f);
- sg_put_unaligned_be32((uint32_t)param_len, xcopyCmdBlk + 10);
+ xcopy_cdb[1] = (unsigned char)(EXTENDED_COPY_LID1_SA & 0x1f);
+ sg_put_unaligned_be32((uint32_t)param_len, xcopy_cdb + 10);
if (verbose) {
- pr2ws(" %s cmd: ", opcode_name);
+ pr2ws(" %s cdb: ", opcode_name);
for (k = 0; k < THIRD_PARTY_COPY_OUT_CMDLEN; ++k)
- pr2ws("%02x ", xcopyCmdBlk[k]);
+ pr2ws("%02x ", xcopy_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
pr2ws(" %s parameter list:\n", opcode_name);
@@ -2054,12 +2003,9 @@ sg_ll_extended_copy(int sg_fd, void * paramp, int param_len, int noisy,
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("%s: out of memory\n", opcode_name);
+ if (NULL == ((ptvp = create_pt_obj(opcode_name))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, xcopyCmdBlk, sizeof(xcopyCmdBlk));
+ set_scsi_pt_cdb(ptvp, xcopy_cdb, sizeof(xcopy_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
@@ -2094,7 +2040,7 @@ sg_ll_3party_copy_out(int sg_fd, int sa, unsigned int list_id, int group_num,
int noisy, int verbose)
{
int k, res, ret, sense_cat, tmout;
- unsigned char xcopyCmdBlk[THIRD_PARTY_COPY_OUT_CMDLEN] =
+ unsigned char xcopy_cdb[THIRD_PARTY_COPY_OUT_CMDLEN] =
{THIRD_PARTY_COPY_OUT_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -2102,20 +2048,20 @@ sg_ll_3party_copy_out(int sg_fd, int sa, unsigned int list_id, int group_num,
sg_get_opcode_sa_name(THIRD_PARTY_COPY_OUT_CMD, sa, 0, sizeof(cname),
cname);
- xcopyCmdBlk[1] = (unsigned char)(sa & 0x1f);
+ xcopy_cdb[1] = (unsigned char)(sa & 0x1f);
switch (sa) {
case 0x0: /* XCOPY(LID1) */
case 0x1: /* XCOPY(LID4) */
- sg_put_unaligned_be32((uint32_t)param_len, xcopyCmdBlk + 10);
+ sg_put_unaligned_be32((uint32_t)param_len, xcopy_cdb + 10);
break;
case 0x10: /* POPULATE TOKEN (SBC-3) */
case 0x11: /* WRITE USING TOKEN (SBC-3) */
- sg_put_unaligned_be32((uint32_t)list_id, xcopyCmdBlk + 6);
- sg_put_unaligned_be32((uint32_t)param_len, xcopyCmdBlk + 10);
- xcopyCmdBlk[14] = (unsigned char)(group_num & 0x1f);
+ sg_put_unaligned_be32((uint32_t)list_id, xcopy_cdb + 6);
+ sg_put_unaligned_be32((uint32_t)param_len, xcopy_cdb + 10);
+ xcopy_cdb[14] = (unsigned char)(group_num & 0x1f);
break;
case 0x1c: /* COPY OPERATION ABORT */
- sg_put_unaligned_be32((uint32_t)list_id, xcopyCmdBlk + 2);
+ sg_put_unaligned_be32((uint32_t)list_id, xcopy_cdb + 2);
break;
default:
pr2ws("sg_ll_3party_copy_out: unknown service action 0x%x\n", sa);
@@ -2124,9 +2070,9 @@ sg_ll_3party_copy_out(int sg_fd, int sa, unsigned int list_id, int group_num,
tmout = (timeout_secs > 0) ? timeout_secs : DEF_PT_TIMEOUT;
if (verbose) {
- pr2ws(" %s cmd: ", cname);
+ pr2ws(" %s cdb: ", cname);
for (k = 0; k < THIRD_PARTY_COPY_OUT_CMDLEN; ++k)
- pr2ws("%02x ", xcopyCmdBlk[k]);
+ pr2ws("%02x ", xcopy_cdb[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
pr2ws(" %s parameter list:\n", cname);
@@ -2134,12 +2080,9 @@ sg_ll_3party_copy_out(int sg_fd, int sa, unsigned int list_id, int group_num,
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("%s: out of memory\n", cname);
+ if (NULL == ((ptvp = create_pt_obj(cname))))
return -1;
- }
- set_scsi_pt_cdb(ptvp, xcopyCmdBlk, sizeof(xcopyCmdBlk));
+ set_scsi_pt_cdb(ptvp, xcopy_cdb, sizeof(xcopy_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, tmout, verbose);
diff --git a/lib/sg_cmds_mmc.c b/lib/sg_cmds_mmc.c
index 198236e5..74980460 100644
--- a/lib/sg_cmds_mmc.c
+++ b/lib/sg_cmds_mmc.c
@@ -57,6 +57,15 @@ pr2ws(const char * fmt, ...)
return n;
}
+static struct sg_pt_base *
+create_pt_obj(const char * cname)
+{
+ struct sg_pt_base * ptvp = construct_scsi_pt_obj();
+ if (NULL == ptvp)
+ pr2ws("%s: out of memory\n", cname);
+ return ptvp;
+}
+
/* Invokes a SCSI SET CD SPEED command (MMC).
* Return of 0 -> success, SG_LIB_CAT_INVALID_OP -> command not supported,
* SG_LIB_CAT_ILLEGAL_REQ -> bad field in cdb, SG_LIB_CAT_UNIT_ATTENTION,
@@ -66,6 +75,7 @@ int
sg_ll_set_cd_speed(int sg_fd, int rot_control, int drv_read_speed,
int drv_write_speed, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "set cd speed";
int res, ret, k, sense_cat;
unsigned char scsCmdBlk[SET_CD_SPEED_CMDLEN] = {SET_CD_SPEED_CMD, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0 ,0};
@@ -77,21 +87,18 @@ sg_ll_set_cd_speed(int sg_fd, int rot_control, int drv_read_speed,
sg_put_unaligned_be16((uint16_t)drv_write_speed, scsCmdBlk + 4);
if (verbose) {
- pr2ws(" set cd speed cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SET_CD_SPEED_CMDLEN; ++k)
pr2ws("%02x ", scsCmdBlk[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("set cd speed: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, scsCmdBlk, sizeof(scsCmdBlk));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "set cd speed", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -126,6 +133,7 @@ int
sg_ll_get_config(int sg_fd, int rt, int starting, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "get configuration";
int res, k, ret, sense_cat;
unsigned char gcCmdBlk[GET_CONFIG_CMD_LEN] = {GET_CONFIG_CMD, 0, 0, 0,
0, 0, 0, 0, 0, 0};
@@ -149,22 +157,19 @@ sg_ll_get_config(int sg_fd, int rt, int starting, void * resp,
sg_put_unaligned_be16((uint16_t)mx_resp_len, gcCmdBlk + 7);
if (verbose) {
- pr2ws(" Get Configuration cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < GET_CONFIG_CMD_LEN; ++k)
pr2ws("%02x ", gcCmdBlk[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("get configuration: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, gcCmdBlk, sizeof(gcCmdBlk));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "get configuration", res, mx_resp_len,
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len,
sense_b, noisy, verbose, &sense_cat);
if (-1 == ret)
;
@@ -194,7 +199,7 @@ sg_ll_get_config(int sg_fd, int rt, int starting, void * resp,
if (len < 0)
len = 0;
len = (ret < len) ? ret : len;
- pr2ws(" get configuration: response:\n");
+ pr2ws(" %s: response:\n", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (len > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (len > 256 ? 256 : len), -1);
@@ -218,6 +223,7 @@ sg_ll_get_performance(int sg_fd, int data_type, unsigned int starting_lba,
int max_num_desc, int ttype, void * resp,
int mx_resp_len, int noisy, int verbose)
{
+ static const char * const cdb_name_s = "get performance";
int res, k, ret, sense_cat;
unsigned char gpCmdBlk[GET_PERFORMANCE_CMD_LEN] = {GET_PERFORMANCE_CMD, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -242,23 +248,20 @@ sg_ll_get_performance(int sg_fd, int data_type, unsigned int starting_lba,
gpCmdBlk[10] = (unsigned char)ttype;
if (verbose) {
- pr2ws(" Get Performance cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < GET_PERFORMANCE_CMD_LEN; ++k)
pr2ws("%02x ", gpCmdBlk[k]);
pr2ws("\n");
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("get performance: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, gpCmdBlk, sizeof(gpCmdBlk));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "get performance", res, mx_resp_len,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b,
+ noisy, verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
@@ -287,7 +290,7 @@ sg_ll_get_performance(int sg_fd, int data_type, unsigned int starting_lba,
if (len < 0)
len = 0;
len = (ret < len) ? ret : len;
- pr2ws(" get performance:: response");
+ pr2ws(" %s: response", cdb_name_s);
if (3 == verbose) {
pr2ws("%s:\n", (len > 256 ? ", first 256 bytes" : ""));
dStrHexErr((const char *)resp, (len > 256 ? 256 : len), -1);
@@ -311,6 +314,7 @@ int
sg_ll_set_streaming(int sg_fd, int type, void * paramp, int param_len,
int noisy, int verbose)
{
+ static const char * const cdb_name_s = "set streaming";
int k, res, ret, sense_cat;
unsigned char ssCmdBlk[SET_STREAMING_CMDLEN] =
{SET_STREAMING_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
@@ -320,27 +324,24 @@ sg_ll_set_streaming(int sg_fd, int type, void * paramp, int param_len,
ssCmdBlk[8] = type;
sg_put_unaligned_be16((uint16_t)param_len, ssCmdBlk + 9);
if (verbose) {
- pr2ws(" set streaming cdb: ");
+ pr2ws(" %s cdb: ", cdb_name_s);
for (k = 0; k < SET_STREAMING_CMDLEN; ++k)
pr2ws("%02x ", ssCmdBlk[k]);
pr2ws("\n");
if ((verbose > 1) && paramp && param_len) {
- pr2ws(" set streaming parameter list:\n");
+ pr2ws(" %s parameter list:\n", cdb_name_s);
dStrHexErr((const char *)paramp, param_len, -1);
}
}
- ptvp = construct_scsi_pt_obj();
- if (NULL == ptvp) {
- pr2ws("set streaming: out of memory\n");
+ if (NULL == ((ptvp = create_pt_obj(cdb_name_s))))
return -1;
- }
set_scsi_pt_cdb(ptvp, ssCmdBlk, sizeof(ssCmdBlk));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
- ret = sg_cmds_process_resp(ptvp, "set streaming", res, 0,
- sense_b, noisy, verbose, &sense_cat);
+ ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, 0, sense_b, noisy,
+ verbose, &sense_cat);
if (-1 == ret)
;
else if (-2 == ret) {
diff --git a/lib/sg_lib_data.c b/lib/sg_lib_data.c
index 5c468629..b4a3ab6e 100644
--- a/lib/sg_lib_data.c
+++ b/lib/sg_lib_data.c
@@ -17,7 +17,7 @@
#endif
-const char * sg_lib_version_str = "2.23 20160503"; /* spc5r09, sbc4r10 */
+const char * sg_lib_version_str = "2.24 20160528";/* spc5r10, sbc4r10 */
/* indexed by pdt; those that map to own index do not decay */
diff --git a/src/sg_format.c b/src/sg_format.c
index 10b1f618..c38bbe90 100644
--- a/src/sg_format.c
+++ b/src/sg_format.c
@@ -36,7 +36,7 @@
#include "sg_pr2serr.h"
#include "sg_pt.h"
-static const char * version_str = "1.36 20160423";
+static const char * version_str = "1.37 20160528";
#define RW_ERROR_RECOVERY_PAGE 1 /* can give alternate with --mode=MP */
@@ -223,23 +223,23 @@ sg_ll_format_medium(int sg_fd, int verify, int immed, int format,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char fmCmdBlk[SG_FORMAT_MEDIUM_CMDLEN] =
+ unsigned char fm_cdb[SG_FORMAT_MEDIUM_CMDLEN] =
{SG_FORMAT_MEDIUM_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (verify)
- fmCmdBlk[1] |= 0x2;
+ fm_cdb[1] |= 0x2;
if (immed)
- fmCmdBlk[1] |= 0x1;
+ fm_cdb[1] |= 0x1;
if (format)
- fmCmdBlk[2] |= (0xf & format);
+ fm_cdb[2] |= (0xf & format);
if (transfer_len > 0)
- sg_put_unaligned_be16(transfer_len, fmCmdBlk + 3);
+ sg_put_unaligned_be16(transfer_len, fm_cdb + 3);
if (verbose) {
pr2serr(" Format medium cdb: ");
for (k = 0; k < SG_FORMAT_MEDIUM_CMDLEN; ++k)
- pr2serr("%02x ", fmCmdBlk[k]);
+ pr2serr("%02x ", fm_cdb[k]);
pr2serr("\n");
}
@@ -248,7 +248,7 @@ sg_ll_format_medium(int sg_fd, int verify, int immed, int format,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, fmCmdBlk, sizeof(fmCmdBlk));
+ set_scsi_pt_cdb(ptvp, fm_cdb, sizeof(fm_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, transfer_len);
res = do_scsi_pt(ptvp, sg_fd, timeout, verbose);
diff --git a/src/sg_inq.c b/src/sg_inq.c
index 99e21953..8944d456 100644
--- a/src/sg_inq.c
+++ b/src/sg_inq.c
@@ -926,20 +926,20 @@ pt_inquiry(int sg_fd, int evpd, int pg_op, void * resp, int mx_resp_len,
int * residp, int noisy, int verbose)
{
int res, ret, k, sense_cat, resid;
- unsigned char inqCmdBlk[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
+ unsigned char inq_cdb[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
unsigned char * up;
struct sg_pt_base * ptvp;
if (evpd)
- inqCmdBlk[1] |= 1;
- inqCmdBlk[2] = (unsigned char)pg_op;
+ inq_cdb[1] |= 1;
+ inq_cdb[2] = (unsigned char)pg_op;
/* 16 bit allocation length (was 8) is a recent SPC-3 addition */
- sg_put_unaligned_be16((uint16_t)mx_resp_len, inqCmdBlk + 3);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, inq_cdb + 3);
if (verbose) {
pr2serr(" inquiry cdb: ");
for (k = 0; k < INQUIRY_CMDLEN; ++k)
- pr2serr("%02x ", inqCmdBlk[k]);
+ pr2serr("%02x ", inq_cdb[k]);
pr2serr("\n");
}
if (resp && (mx_resp_len > 0)) {
@@ -953,7 +953,7 @@ pt_inquiry(int sg_fd, int evpd, int pg_op, void * resp, int mx_resp_len,
pr2serr("inquiry: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, inqCmdBlk, sizeof(inqCmdBlk));
+ set_scsi_pt_cdb(ptvp, inq_cdb, sizeof(inq_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
diff --git a/src/sg_opcodes.c b/src/sg_opcodes.c
index e3c25c65..929bffd3 100644
--- a/src/sg_opcodes.c
+++ b/src/sg_opcodes.c
@@ -29,7 +29,7 @@
#include "sg_pt.h"
-static const char * version_str = "0.47 20160423"; /* spc5r08 */
+static const char * version_str = "0.48 20160528"; /* spc5r10 */
#define SENSE_BUFF_LEN 64 /* Arbitrary, could be larger */
@@ -983,25 +983,25 @@ do_rsoc(int sg_fd, int rctd, int rep_opts, int rq_opcode, int rq_servact,
void * resp, int mx_resp_len, int noisy, int verbose)
{
int k, ret, res, sense_cat;
- unsigned char rsocCmdBlk[RSOC_CMD_LEN] = {SG_MAINTENANCE_IN, RSOC_SA, 0,
+ unsigned char rsoc_cdb[RSOC_CMD_LEN] = {SG_MAINTENANCE_IN, RSOC_SA, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (rctd)
- rsocCmdBlk[2] |= 0x80;
+ rsoc_cdb[2] |= 0x80;
if (rep_opts)
- rsocCmdBlk[2] |= (rep_opts & 0x7);
+ rsoc_cdb[2] |= (rep_opts & 0x7);
if (rq_opcode > 0)
- rsocCmdBlk[3] = (rq_opcode & 0xff);
+ rsoc_cdb[3] = (rq_opcode & 0xff);
if (rq_servact > 0)
- sg_put_unaligned_be16((uint16_t)rq_servact, rsocCmdBlk + 4);
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rsocCmdBlk + 6);
+ sg_put_unaligned_be16((uint16_t)rq_servact, rsoc_cdb + 4);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rsoc_cdb + 6);
if (verbose) {
pr2serr(" Report Supported Operation Codes cmd: ");
for (k = 0; k < RSOC_CMD_LEN; ++k)
- pr2serr("%02x ", rsocCmdBlk[k]);
+ pr2serr("%02x ", rsoc_cdb[k]);
pr2serr("\n");
}
ptvp = construct_scsi_pt_obj();
@@ -1009,7 +1009,7 @@ do_rsoc(int sg_fd, int rctd, int rep_opts, int rq_opcode, int rq_servact,
pr2serr("Report Supported Operation Codes: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, rsocCmdBlk, sizeof(rsocCmdBlk));
+ set_scsi_pt_cdb(ptvp, rsoc_cdb, sizeof(rsoc_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_TIMEOUT_SECS, verbose);
@@ -1040,19 +1040,19 @@ do_rstmf(int sg_fd, int repd, void * resp, int mx_resp_len, int noisy,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char rstmfCmdBlk[RSTMF_CMD_LEN] = {SG_MAINTENANCE_IN, RSTMF_SA,
+ unsigned char rstmf_cdb[RSTMF_CMD_LEN] = {SG_MAINTENANCE_IN, RSTMF_SA,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (repd)
- rstmfCmdBlk[2] = 0x80;
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rstmfCmdBlk + 6);
+ rstmf_cdb[2] = 0x80;
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rstmf_cdb + 6);
if (verbose) {
pr2serr(" Report Supported Task Management Functions cmd: ");
for (k = 0; k < RSTMF_CMD_LEN; ++k)
- pr2serr("%02x ", rstmfCmdBlk[k]);
+ pr2serr("%02x ", rstmf_cdb[k]);
pr2serr("\n");
}
ptvp = construct_scsi_pt_obj();
@@ -1060,7 +1060,7 @@ do_rstmf(int sg_fd, int repd, void * resp, int mx_resp_len, int noisy,
pr2serr("Report Supported Task Management Functions: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, rstmfCmdBlk, sizeof(rstmfCmdBlk));
+ set_scsi_pt_cdb(ptvp, rstmf_cdb, sizeof(rstmf_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_TIMEOUT_SECS, verbose);
diff --git a/src/sg_rbuf.c b/src/sg_rbuf.c
index 5354b2f4..bd7f77ca 100644
--- a/src/sg_rbuf.c
+++ b/src/sg_rbuf.c
@@ -55,7 +55,7 @@
#endif
-static const char * version_str = "4.96 20160222";
+static const char * version_str = "4.97 20160528";
static struct option long_options[] = {
{"buffer", required_argument, 0, 'b'},
@@ -349,7 +349,7 @@ main(int argc, char * argv[])
{
int sg_fd, res, j;
unsigned int k, num;
- unsigned char rbCmdBlk [RB_CMD_LEN];
+ unsigned char rb_cdb [RB_CMD_LEN];
unsigned char * rbBuff = NULL;
void * rawp = NULL;
unsigned char sense_buffer[32];
@@ -411,25 +411,25 @@ main(int argc, char * argv[])
}
rbBuff = (unsigned char *)rawp;
- memset(rbCmdBlk, 0, RB_CMD_LEN);
- rbCmdBlk[0] = RB_OPCODE;
- rbCmdBlk[1] = op->do_echo ? RB_MODE_ECHO_DESC : RB_MODE_DESC;
- rbCmdBlk[8] = RB_DESC_LEN;
+ memset(rb_cdb, 0, RB_CMD_LEN);
+ rb_cdb[0] = RB_OPCODE;
+ rb_cdb[1] = op->do_echo ? RB_MODE_ECHO_DESC : RB_MODE_DESC;
+ rb_cdb[8] = RB_DESC_LEN;
memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(rbCmdBlk);
+ io_hdr.cmd_len = sizeof(rb_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = RB_DESC_LEN;
io_hdr.dxferp = rbBuff;
- io_hdr.cmdp = rbCmdBlk;
+ io_hdr.cmdp = rb_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 60000; /* 60000 millisecs == 60 seconds */
if (op->do_verbose) {
pr2serr(" Read buffer (%sdescriptor) cdb: ",
(op->do_echo ? "echo " : ""));
for (k = 0; k < RB_CMD_LEN; ++k)
- pr2serr("%02x ", rbCmdBlk[k]);
+ pr2serr("%02x ", rb_cdb[k]);
pr2serr("\n");
}
@@ -530,23 +530,23 @@ main(int argc, char * argv[])
}
/* main data reading loop */
for (k = 0; k < num; ++k) {
- memset(rbCmdBlk, 0, RB_CMD_LEN);
- rbCmdBlk[0] = RB_OPCODE;
- rbCmdBlk[1] = op->do_echo ? RB_MODE_ECHO_DATA : RB_MODE_DATA;
- sg_put_unaligned_be24((uint32_t)buf_size, rbCmdBlk + 6);
+ memset(rb_cdb, 0, RB_CMD_LEN);
+ rb_cdb[0] = RB_OPCODE;
+ rb_cdb[1] = op->do_echo ? RB_MODE_ECHO_DATA : RB_MODE_DATA;
+ sg_put_unaligned_be24((uint32_t)buf_size, rb_cdb + 6);
#ifdef SG_DEBUG
memset(rbBuff, 0, buf_size);
#endif
memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(rbCmdBlk);
+ io_hdr.cmd_len = sizeof(rb_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = buf_size;
if (! op->do_mmap)
io_hdr.dxferp = rbBuff;
- io_hdr.cmdp = rbCmdBlk;
+ io_hdr.cmdp = rb_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
io_hdr.pack_id = k;
@@ -560,7 +560,7 @@ main(int argc, char * argv[])
pr2serr(" Read buffer (%sdata) cdb: ",
(op->do_echo ? "echo " : ""));
for (j = 0; j < RB_CMD_LEN; ++j)
- pr2serr("%02x ", rbCmdBlk[j]);
+ pr2serr("%02x ", rb_cdb[j]);
pr2serr("\n");
}
diff --git a/src/sg_read_attr.c b/src/sg_read_attr.c
index d874908f..a1436c49 100644
--- a/src/sg_read_attr.c
+++ b/src/sg_read_attr.c
@@ -34,7 +34,7 @@
* and decodes the response. Based on spc5r08.pdf
*/
-static const char * version_str = "1.02 20160423";
+static const char * version_str = "1.02 20160528";
#define MAX_RATTR_BUFF_LEN (1024 * 1024)
#define DEF_RATTR_BUFF_LEN (1024 * 8)
@@ -239,28 +239,28 @@ sg_ll_read_attr(int sg_fd, void * resp, int * residp,
{
int k, ret, res, sense_cat;
int noisy = 1;
- unsigned char raCmdBlk[SG_READ_ATTRIBUTE_CMDLEN] =
+ unsigned char ra_cdb[SG_READ_ATTRIBUTE_CMDLEN] =
{SG_READ_ATTRIBUTE_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- raCmdBlk[1] = 0x1f & op->sa;
+ ra_cdb[1] = 0x1f & op->sa;
if (op->ea)
- sg_put_unaligned_be16(op->ea, raCmdBlk + 2);
+ sg_put_unaligned_be16(op->ea, ra_cdb + 2);
if (op->lvn)
- raCmdBlk[5] = 0xff & op->lvn;
+ ra_cdb[5] = 0xff & op->lvn;
if (op->pn)
- raCmdBlk[7] = 0xff & op->pn;
+ ra_cdb[7] = 0xff & op->pn;
if (op->fai)
- sg_put_unaligned_be16(op->fai, raCmdBlk + 8);
- sg_put_unaligned_be32((uint32_t)op->maxlen, raCmdBlk + 10);
+ sg_put_unaligned_be16(op->fai, ra_cdb + 8);
+ sg_put_unaligned_be32((uint32_t)op->maxlen, ra_cdb + 10);
if (op->cache)
- raCmdBlk[14] |= 0x1;
+ ra_cdb[14] |= 0x1;
if (op->verbose) {
pr2serr(" Read attribute cdb: ");
for (k = 0; k < SG_READ_ATTRIBUTE_CMDLEN; ++k)
- pr2serr("%02x ", raCmdBlk[k]);
+ pr2serr("%02x ", ra_cdb[k]);
pr2serr("\n");
}
@@ -269,7 +269,7 @@ sg_ll_read_attr(int sg_fd, void * resp, int * residp,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, raCmdBlk, sizeof(raCmdBlk));
+ set_scsi_pt_cdb(ptvp, ra_cdb, sizeof(ra_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, op->maxlen);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, op->verbose);
diff --git a/src/sg_rep_zones.c b/src/sg_rep_zones.c
index 31fb88d0..0dd75d17 100644
--- a/src/sg_rep_zones.c
+++ b/src/sg_rep_zones.c
@@ -32,7 +32,7 @@
* and decodes the response. Based on zbc-r02.pdf
*/
-static const char * version_str = "1.09 20160423";
+static const char * version_str = "1.09 20160528";
#define MAX_RZONES_BUFF_LEN (1024 * 1024)
#define DEF_RZONES_BUFF_LEN (1024 * 8)
@@ -96,21 +96,21 @@ sg_ll_report_zones(int sg_fd, uint64_t zs_lba, int partial, int report_opts,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char rzCmdBlk[SG_ZONING_IN_CMDLEN] =
+ unsigned char rz_cdb[SG_ZONING_IN_CMDLEN] =
{SG_ZONING_IN, REPORT_ZONES_SA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be64(zs_lba, rzCmdBlk + 2);
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rzCmdBlk + 10);
- rzCmdBlk[14] = report_opts & 0x3f;
+ sg_put_unaligned_be64(zs_lba, rz_cdb + 2);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rz_cdb + 10);
+ rz_cdb[14] = report_opts & 0x3f;
if (partial)
- rzCmdBlk[14] |= 0x80;
+ rz_cdb[14] |= 0x80;
if (verbose) {
pr2serr(" Report zones cdb: ");
for (k = 0; k < SG_ZONING_IN_CMDLEN; ++k)
- pr2serr("%02x ", rzCmdBlk[k]);
+ pr2serr("%02x ", rz_cdb[k]);
pr2serr("\n");
}
@@ -119,7 +119,7 @@ sg_ll_report_zones(int sg_fd, uint64_t zs_lba, int partial, int report_opts,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, rzCmdBlk, sizeof(rzCmdBlk));
+ set_scsi_pt_cdb(ptvp, rz_cdb, sizeof(rz_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
diff --git a/src/sg_reset_wp.c b/src/sg_reset_wp.c
index 93613e8b..fc8c4a40 100644
--- a/src/sg_reset_wp.c
+++ b/src/sg_reset_wp.c
@@ -32,7 +32,7 @@
* device. Based on zbc-r04c.pdf .
*/
-static const char * version_str = "1.05 20160519";
+static const char * version_str = "1.05 20160528";
#define SG_ZONING_OUT_CMDLEN 16
#define RESET_WRITE_POINTER_SA 0x4
@@ -79,19 +79,19 @@ sg_ll_reset_write_pointer(int sg_fd, uint64_t zid, int all, int noisy,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char rwpCmdBlk[SG_ZONING_OUT_CMDLEN] =
+ unsigned char rwp_cdb[SG_ZONING_OUT_CMDLEN] =
{SG_ZONING_OUT, RESET_WRITE_POINTER_SA, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be64(zid, rwpCmdBlk + 2);
+ sg_put_unaligned_be64(zid, rwp_cdb + 2);
if (all)
- rwpCmdBlk[14] = 0x1;
+ rwp_cdb[14] = 0x1;
if (verbose) {
pr2serr(" Reset write pointer cdb: ");
for (k = 0; k < SG_ZONING_OUT_CMDLEN; ++k)
- pr2serr("%02x ", rwpCmdBlk[k]);
+ pr2serr("%02x ", rwp_cdb[k]);
pr2serr("\n");
}
@@ -100,7 +100,7 @@ sg_ll_reset_write_pointer(int sg_fd, uint64_t zid, int all, int noisy,
pr2serr("Reset write pointer: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, rwpCmdBlk, sizeof(rwpCmdBlk));
+ set_scsi_pt_cdb(ptvp, rwp_cdb, sizeof(rwp_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
ret = sg_cmds_process_resp(ptvp, "reset write pointer", res, 0, sense_b,
diff --git a/src/sg_sanitize.c b/src/sg_sanitize.c
index af4481a3..8e1aa4d9 100644
--- a/src/sg_sanitize.c
+++ b/src/sg_sanitize.c
@@ -28,7 +28,7 @@
#include "sg_unaligned.h"
#include "sg_pr2serr.h"
-static const char * version_str = "1.02 20160423";
+static const char * version_str = "1.02 20160528";
/* Not all environments support the Unix sleep() */
#if defined(MSC_VER) || defined(__MINGW32__)
@@ -169,7 +169,7 @@ do_sanitize(int sg_fd, const struct opts_t * op, const void * param_lstp,
int param_lst_len)
{
int k, ret, res, sense_cat, immed, timeout;
- unsigned char sanCmdBlk[SANITIZE_OP_LEN];
+ unsigned char san_cdb[SANITIZE_OP_LEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -181,30 +181,30 @@ do_sanitize(int sg_fd, const struct opts_t * op, const void * param_lstp,
/* only use command line timeout if it exceeds previous defaults */
if (op->timeout > timeout)
timeout = op->timeout;
- memset(sanCmdBlk, 0, sizeof(sanCmdBlk));
- sanCmdBlk[0] = SANITIZE_OP;
+ memset(san_cdb, 0, sizeof(san_cdb));
+ san_cdb[0] = SANITIZE_OP;
if (op->overwrite)
- sanCmdBlk[1] = SANITIZE_SA_OVERWRITE;
+ san_cdb[1] = SANITIZE_SA_OVERWRITE;
else if (op->block)
- sanCmdBlk[1] = SANITIZE_SA_BLOCK_ERASE;
+ san_cdb[1] = SANITIZE_SA_BLOCK_ERASE;
else if (op->crypto)
- sanCmdBlk[1] = SANITIZE_SA_CRYPTO_ERASE;
+ san_cdb[1] = SANITIZE_SA_CRYPTO_ERASE;
else if (op->fail)
- sanCmdBlk[1] = SANITIZE_SA_EXIT_FAIL_MODE;
+ san_cdb[1] = SANITIZE_SA_EXIT_FAIL_MODE;
else
return SG_LIB_SYNTAX_ERROR;
if (immed)
- sanCmdBlk[1] |= 0x80;
+ san_cdb[1] |= 0x80;
if (op->znr) /* added sbc4r07 */
- sanCmdBlk[1] |= 0x40;
+ san_cdb[1] |= 0x40;
if (op->ause)
- sanCmdBlk[1] |= 0x20;
- sg_put_unaligned_be16((uint16_t)param_lst_len, sanCmdBlk + 7);
+ san_cdb[1] |= 0x20;
+ sg_put_unaligned_be16((uint16_t)param_lst_len, san_cdb + 7);
if (op->verbose > 1) {
pr2serr(" Sanitize cmd: ");
for (k = 0; k < SANITIZE_OP_LEN; ++k)
- pr2serr("%02x ", sanCmdBlk[k]);
+ pr2serr("%02x ", san_cdb[k]);
pr2serr("\n");
if (op->verbose > 2) {
if (param_lst_len > 0) {
@@ -219,7 +219,7 @@ do_sanitize(int sg_fd, const struct opts_t * op, const void * param_lstp,
pr2serr("Sanitize: out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, sanCmdBlk, sizeof(sanCmdBlk));
+ set_scsi_pt_cdb(ptvp, san_cdb, sizeof(san_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)param_lstp, param_lst_len);
res = do_scsi_pt(ptvp, sg_fd, timeout, op->verbose);
diff --git a/src/sg_sat_identify.c b/src/sg_sat_identify.c
index f74059fb..fd6ead83 100644
--- a/src/sg_sat_identify.c
+++ b/src/sg_sat_identify.c
@@ -50,7 +50,7 @@
#define EBUFF_SZ 256
-static const char * version_str = "1.14 20160525";
+static const char * version_str = "1.14 20160528";
static struct option long_options[] = {
{"ck_cond", no_argument, 0, 'c'},
@@ -126,58 +126,58 @@ static int do_identify_dev(int sg_fd, int do_packet, int cdb_len,
unsigned char inBuff[ID_RESPONSE_LEN];
unsigned char sense_buffer[64];
unsigned char ata_return_desc[16];
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
- unsigned char apt12CmdBlk[SAT_ATA_PASS_THROUGH12_LEN] =
+ unsigned char apt12_cdb[SAT_ATA_PASS_THROUGH12_LEN] =
{SAT_ATA_PASS_THROUGH12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
- unsigned char apt32CmdBlk[SAT_ATA_PASS_THROUGH32_LEN];
+ unsigned char apt32_cdb[SAT_ATA_PASS_THROUGH32_LEN];
const unsigned short * usp;
uint64_t ull;
sb_sz = sizeof(sense_buffer);
memset(sense_buffer, 0, sb_sz);
- memset(apt32CmdBlk, 0, sizeof(apt32CmdBlk));
+ memset(apt32_cdb, 0, sizeof(apt32_cdb));
memset(ata_return_desc, 0, sizeof(ata_return_desc));
ok = 0;
switch (cdb_len) {
case SAT_ATA_PASS_THROUGH32_LEN: /* SAT-4 revision 5 or later */
/* Prepare SCSI ATA PASS-THROUGH COMMAND(32) command */
- sg_put_unaligned_be16(1, apt32CmdBlk + 22); /* count=1 */
- apt32CmdBlk[25] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
+ sg_put_unaligned_be16(1, apt32_cdb + 22); /* count=1 */
+ apt32_cdb[25] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
ATA_IDENTIFY_DEVICE);
- apt32CmdBlk[10] = (multiple_count << 5) | (protocol << 1) | extend;
- apt32CmdBlk[11] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt32_cdb[10] = (multiple_count << 5) | (protocol << 1) | extend;
+ apt32_cdb[11] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
/* following call takes care of all bytes below offset 10 in cdb */
- res = sg_ll_ata_pt(sg_fd, apt32CmdBlk, cdb_len, DEF_TIMEOUT, inBuff,
+ res = sg_ll_ata_pt(sg_fd, apt32_cdb, cdb_len, DEF_TIMEOUT, inBuff,
NULL /* doutp */, ID_RESPONSE_LEN, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
break;
case SAT_ATA_PASS_THROUGH16_LEN:
/* Prepare SCSI ATA PASS-THROUGH COMMAND(16) command */
- aptCmdBlk[6] = 1; /* sector count */
- aptCmdBlk[14] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
+ apt_cdb[6] = 1; /* sector count */
+ apt_cdb[14] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
ATA_IDENTIFY_DEVICE);
- aptCmdBlk[1] = (multiple_count << 5) | (protocol << 1) | extend;
- aptCmdBlk[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt_cdb[1] = (multiple_count << 5) | (protocol << 1) | extend;
+ apt_cdb[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, aptCmdBlk, cdb_len, DEF_TIMEOUT, inBuff,
+ res = sg_ll_ata_pt(sg_fd, apt_cdb, cdb_len, DEF_TIMEOUT, inBuff,
NULL /* doutp */, ID_RESPONSE_LEN, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
break;
case SAT_ATA_PASS_THROUGH12_LEN:
/* Prepare SCSI ATA PASS-THROUGH COMMAND(12) command */
- apt12CmdBlk[4] = 1; /* sector count */
- apt12CmdBlk[9] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
+ apt12_cdb[4] = 1; /* sector count */
+ apt12_cdb[9] = (do_packet ? ATA_IDENTIFY_PACKET_DEVICE :
ATA_IDENTIFY_DEVICE);
- apt12CmdBlk[1] = (multiple_count << 5) | (protocol << 1);
- apt12CmdBlk[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt12_cdb[1] = (multiple_count << 5) | (protocol << 1);
+ apt12_cdb[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, apt12CmdBlk, cdb_len, DEF_TIMEOUT, inBuff,
+ res = sg_ll_ata_pt(sg_fd, apt12_cdb, cdb_len, DEF_TIMEOUT, inBuff,
NULL /* doutp */, ID_RESPONSE_LEN, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
diff --git a/src/sg_sat_phy_event.c b/src/sg_sat_phy_event.c
index fcece2d0..c83762bb 100644
--- a/src/sg_sat_phy_event.c
+++ b/src/sg_sat_phy_event.c
@@ -22,7 +22,7 @@
#include "sg_cmds_extra.h"
#include "sg_pr2serr.h"
-static const char * version_str = "1.07 20160126";
+static const char * version_str = "1.07 20160528";
/* This program uses a ATA PASS-THROUGH SCSI command. This usage is
* defined in the SCSI to ATA Translation (SAT) drafts and standards.
@@ -166,10 +166,10 @@ do_read_log_ext(int sg_fd, int log_addr, int page_in_log, int feature,
struct sg_scsi_sense_hdr ssh;
unsigned char sense_buffer[64];
unsigned char ata_return_desc[16];
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
- unsigned char apt12CmdBlk[SAT_ATA_PASS_THROUGH12_LEN] =
+ unsigned char apt12_cdb[SAT_ATA_PASS_THROUGH12_LEN] =
{SAT_ATA_PASS_THROUGH12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
@@ -179,33 +179,33 @@ do_read_log_ext(int sg_fd, int log_addr, int page_in_log, int feature,
ok = 0;
if (SAT_ATA_PASS_THROUGH16_LEN == cdb_len) {
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[3] = (feature >> 8) & 0xff; /* feature(15:8) */
- aptCmdBlk[4] = feature & 0xff; /* feature(7:0) */
- aptCmdBlk[5] = (blk_count >> 8) & 0xff; /* sector_count(15:8) */
- aptCmdBlk[6] = blk_count & 0xff; /* sector_count(7:0) */
- aptCmdBlk[8] = log_addr & 0xff; /* lba_low(7:0) == LBA(7:0) */
- aptCmdBlk[9] = (page_in_log >> 8) & 0xff;
+ apt_cdb[3] = (feature >> 8) & 0xff; /* feature(15:8) */
+ apt_cdb[4] = feature & 0xff; /* feature(7:0) */
+ apt_cdb[5] = (blk_count >> 8) & 0xff; /* sector_count(15:8) */
+ apt_cdb[6] = blk_count & 0xff; /* sector_count(7:0) */
+ apt_cdb[8] = log_addr & 0xff; /* lba_low(7:0) == LBA(7:0) */
+ apt_cdb[9] = (page_in_log >> 8) & 0xff;
/* lba_mid(15:8) == LBA(39:32) */
- aptCmdBlk[10] = page_in_log & 0xff; /* lba_mid(7:0) == LBA(15:8) */
- aptCmdBlk[14] = ATA_READ_LOG_EXT;
- aptCmdBlk[1] = (multiple_count << 5) | (protocol << 1) | extend;
- aptCmdBlk[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt_cdb[10] = page_in_log & 0xff; /* lba_mid(7:0) == LBA(15:8) */
+ apt_cdb[14] = ATA_READ_LOG_EXT;
+ apt_cdb[1] = (multiple_count << 5) | (protocol << 1) | extend;
+ apt_cdb[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, aptCmdBlk, cdb_len, DEF_TIMEOUT, resp,
+ res = sg_ll_ata_pt(sg_fd, apt_cdb, cdb_len, DEF_TIMEOUT, resp,
NULL /* doutp */, mx_resp_len, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
} else {
/* Prepare ATA PASS-THROUGH COMMAND (12) command */
- apt12CmdBlk[3] = feature & 0xff; /* feature(7:0) */
- apt12CmdBlk[4] = blk_count & 0xff; /* sector_count(7:0) */
- apt12CmdBlk[5] = log_addr & 0xff; /* lba_low(7:0) == LBA(7:0) */
- apt12CmdBlk[6] = page_in_log & 0xff; /* lba_mid(7:0) == LBA(15:8) */
- apt12CmdBlk[9] = ATA_READ_LOG_EXT;
- apt12CmdBlk[1] = (multiple_count << 5) | (protocol << 1);
- apt12CmdBlk[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt12_cdb[3] = feature & 0xff; /* feature(7:0) */
+ apt12_cdb[4] = blk_count & 0xff; /* sector_count(7:0) */
+ apt12_cdb[5] = log_addr & 0xff; /* lba_low(7:0) == LBA(7:0) */
+ apt12_cdb[6] = page_in_log & 0xff; /* lba_mid(7:0) == LBA(15:8) */
+ apt12_cdb[9] = ATA_READ_LOG_EXT;
+ apt12_cdb[1] = (multiple_count << 5) | (protocol << 1);
+ apt12_cdb[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, apt12CmdBlk, cdb_len, DEF_TIMEOUT, resp,
+ res = sg_ll_ata_pt(sg_fd, apt12_cdb, cdb_len, DEF_TIMEOUT, resp,
NULL /* doutp */, mx_resp_len, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
diff --git a/src/sg_sat_read_gplog.c b/src/sg_sat_read_gplog.c
index df34de28..ad80d3e7 100644
--- a/src/sg_sat_read_gplog.c
+++ b/src/sg_sat_read_gplog.c
@@ -49,7 +49,7 @@
#define DEF_TIMEOUT 20
-static const char * version_str = "1.13 20160126";
+static const char * version_str = "1.13 20160528";
struct opts_t {
int cdb_len;
@@ -134,10 +134,10 @@ do_read_gplog(int sg_fd, int ata_cmd, unsigned char *inbuff,
struct sg_scsi_sense_hdr ssh;
unsigned char sense_buffer[64];
unsigned char ata_return_desc[16];
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
- unsigned char apt12CmdBlk[SAT_ATA_PASS_THROUGH12_LEN] =
+ unsigned char apt12_cdb[SAT_ATA_PASS_THROUGH12_LEN] =
{SAT_ATA_PASS_THROUGH12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
char cmd_name[32];
@@ -159,29 +159,29 @@ do_read_gplog(int sg_fd, int ata_cmd, unsigned char *inbuff,
op->pn);
if (op->cdb_len == 16) {
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[14] = ata_cmd;
- sg_put_unaligned_be16((uint16_t)op->count, aptCmdBlk + 5);
- aptCmdBlk[8] = op->la;
- sg_put_unaligned_be16((uint16_t)op->pn, aptCmdBlk + 9);
- aptCmdBlk[1] = (protocol << 1) | extend;
- aptCmdBlk[2] = (op->ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt_cdb[14] = ata_cmd;
+ sg_put_unaligned_be16((uint16_t)op->count, apt_cdb + 5);
+ apt_cdb[8] = op->la;
+ sg_put_unaligned_be16((uint16_t)op->pn, apt_cdb + 9);
+ apt_cdb[1] = (protocol << 1) | extend;
+ apt_cdb[2] = (op->ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, aptCmdBlk, op->cdb_len, DEF_TIMEOUT, inbuff,
+ res = sg_ll_ata_pt(sg_fd, apt_cdb, op->cdb_len, DEF_TIMEOUT, inbuff,
NULL, op->count * 512, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, op->verbose);
} else {
/* Prepare ATA PASS-THROUGH COMMAND (12) command */
/* Cannot map upper 8 bits of the pn since no LBA (39:32) field */
- apt12CmdBlk[9] = ata_cmd;
- apt12CmdBlk[4] = op->count;
- apt12CmdBlk[5] = op->la;
- apt12CmdBlk[6] = op->pn & 0xff;
- /* apt12CmdBlk[7] = (op->pn >> 8) & 0xff; */
- apt12CmdBlk[1] = (protocol << 1);
- apt12CmdBlk[2] = (op->ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt12_cdb[9] = ata_cmd;
+ apt12_cdb[4] = op->count;
+ apt12_cdb[5] = op->la;
+ apt12_cdb[6] = op->pn & 0xff;
+ /* apt12_cdb[7] = (op->pn >> 8) & 0xff; */
+ apt12_cdb[1] = (protocol << 1);
+ apt12_cdb[2] = (op->ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, apt12CmdBlk, op->cdb_len, DEF_TIMEOUT,
+ res = sg_ll_ata_pt(sg_fd, apt12_cdb, op->cdb_len, DEF_TIMEOUT,
inbuff, NULL, op->count * 512, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, op->verbose);
diff --git a/src/sg_sat_set_features.c b/src/sg_sat_set_features.c
index 9f315039..278cf211 100644
--- a/src/sg_sat_set_features.c
+++ b/src/sg_sat_set_features.c
@@ -47,7 +47,7 @@
#define DEF_TIMEOUT 20
-static const char * version_str = "1.12 20160126";
+static const char * version_str = "1.12 20160528";
static struct option long_options[] = {
{"count", required_argument, 0, 'c'},
@@ -119,10 +119,10 @@ do_set_features(int sg_fd, int feature, int count, uint64_t lba,
struct sg_scsi_sense_hdr ssh;
unsigned char sense_buffer[64];
unsigned char ata_return_desc[16];
- unsigned char aptCmdBlk[SAT_ATA_PASS_THROUGH16_LEN] =
+ unsigned char apt_cdb[SAT_ATA_PASS_THROUGH16_LEN] =
{SAT_ATA_PASS_THROUGH16, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0};
- unsigned char apt12CmdBlk[SAT_ATA_PASS_THROUGH12_LEN] =
+ unsigned char apt12_cdb[SAT_ATA_PASS_THROUGH12_LEN] =
{SAT_ATA_PASS_THROUGH12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
@@ -131,34 +131,34 @@ do_set_features(int sg_fd, int feature, int count, uint64_t lba,
memset(ata_return_desc, 0, sizeof(ata_return_desc));
if (16 == cdb_len) {
/* Prepare ATA PASS-THROUGH COMMAND (16) command */
- aptCmdBlk[14] = ATA_SET_FEATURES;
- aptCmdBlk[4] = feature;
- aptCmdBlk[6] = count;
- aptCmdBlk[8] = lba & 0xff;
- aptCmdBlk[10] = (lba >> 8) & 0xff;
- aptCmdBlk[12] = (lba >> 16) & 0xff;
- aptCmdBlk[7] = (lba >> 24) & 0xff;
- aptCmdBlk[9] = (lba >> 32) & 0xff;
- aptCmdBlk[11] = (lba >> 40) & 0xff;
- aptCmdBlk[1] = (multiple_count << 5) | (protocol << 1) | extend;
- aptCmdBlk[2] = (ck_cond << 5) | (t_type << 4)| (t_dir << 3) |
+ apt_cdb[14] = ATA_SET_FEATURES;
+ apt_cdb[4] = feature;
+ apt_cdb[6] = count;
+ apt_cdb[8] = lba & 0xff;
+ apt_cdb[10] = (lba >> 8) & 0xff;
+ apt_cdb[12] = (lba >> 16) & 0xff;
+ apt_cdb[7] = (lba >> 24) & 0xff;
+ apt_cdb[9] = (lba >> 32) & 0xff;
+ apt_cdb[11] = (lba >> 40) & 0xff;
+ apt_cdb[1] = (multiple_count << 5) | (protocol << 1) | extend;
+ apt_cdb[2] = (ck_cond << 5) | (t_type << 4)| (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, aptCmdBlk, cdb_len, DEF_TIMEOUT, NULL,
+ res = sg_ll_ata_pt(sg_fd, apt_cdb, cdb_len, DEF_TIMEOUT, NULL,
NULL /* doutp */, 0, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
} else {
/* Prepare ATA PASS-THROUGH COMMAND (12) command */
- apt12CmdBlk[9] = ATA_SET_FEATURES;
- apt12CmdBlk[3] = feature;
- apt12CmdBlk[4] = count;
- apt12CmdBlk[5] = lba & 0xff;
- apt12CmdBlk[6] = (lba >> 8) & 0xff;
- apt12CmdBlk[7] = (lba >> 16) & 0xff;
- apt12CmdBlk[1] = (multiple_count << 5) | (protocol << 1);
- apt12CmdBlk[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
+ apt12_cdb[9] = ATA_SET_FEATURES;
+ apt12_cdb[3] = feature;
+ apt12_cdb[4] = count;
+ apt12_cdb[5] = lba & 0xff;
+ apt12_cdb[6] = (lba >> 8) & 0xff;
+ apt12_cdb[7] = (lba >> 16) & 0xff;
+ apt12_cdb[1] = (multiple_count << 5) | (protocol << 1);
+ apt12_cdb[2] = (ck_cond << 5) | (t_type << 4) | (t_dir << 3) |
(byte_block << 2) | t_length;
- res = sg_ll_ata_pt(sg_fd, apt12CmdBlk, cdb_len, DEF_TIMEOUT, NULL,
+ res = sg_ll_ata_pt(sg_fd, apt12_cdb, cdb_len, DEF_TIMEOUT, NULL,
NULL /* doutp */, 0, sense_buffer,
sb_sz, ata_return_desc,
sizeof(ata_return_desc), &resid, verbose);
diff --git a/src/sg_scan_linux.c b/src/sg_scan_linux.c
index 667c6941..f9dd38c8 100644
--- a/src/sg_scan_linux.c
+++ b/src/sg_scan_linux.c
@@ -51,7 +51,7 @@
#include "sg_pr2serr.h"
-static const char * version_str = "4.12 20160121";
+static const char * version_str = "4.12 20160528";
#define ME "sg_scan: "
@@ -90,7 +90,7 @@ int sg3_inq(int sg_fd, unsigned char * inqBuff, int do_extra);
int scsi_inq(int sg_fd, unsigned char * inqBuff);
int try_ata_identity(const char * file_namep, int ata_fd, int do_inq);
-static unsigned char inqCmdBlk[INQ_CMD_LEN] =
+static unsigned char inq_cdb[INQ_CMD_LEN] =
{0x12, 0, 0, 0, INQ_REPLY_LEN, 0};
@@ -399,12 +399,12 @@ int sg3_inq(int sg_fd, unsigned char * inqBuff, int do_extra)
memset(inqBuff, 0, INQ_REPLY_LEN);
inqBuff[0] = 0x7f;
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(inqCmdBlk);
+ io_hdr.cmd_len = sizeof(inq_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = INQ_REPLY_LEN;
io_hdr.dxferp = inqBuff;
- io_hdr.cmdp = inqCmdBlk;
+ io_hdr.cmdp = inq_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 20000; /* 20000 millisecs == 20 seconds */
@@ -466,7 +466,7 @@ int scsi_inq(int sg_fd, unsigned char * inqBuff)
memset(buff, 0, sizeof(buff));
sicp->inlen = 0;
sicp->outlen = INQ_REPLY_LEN;
- memcpy(sicp->data, inqCmdBlk, INQ_CMD_LEN);
+ memcpy(sicp->data, inq_cdb, INQ_CMD_LEN);
res = ioctl(sg_fd, SCSI_IOCTL_SEND_COMMAND, sicp);
if (0 == res)
memcpy(inqBuff, sicp->data, INQ_REPLY_LEN);
diff --git a/src/sg_sync.c b/src/sg_sync.c
index c847f62f..96aa15a8 100644
--- a/src/sg_sync.c
+++ b/src/sg_sync.c
@@ -27,7 +27,7 @@
* (e.g. disks).
*/
-static const char * version_str = "1.15 20160227";
+static const char * version_str = "1.15 20160528";
#define SYNCHRONIZE_CACHE16_CMD 0x91
#define SYNCHRONIZE_CACHE16_CMDLEN 16
@@ -88,24 +88,24 @@ ll_sync_cache_16(int sg_fd, int sync_nv, int immed, int group,
int noisy, int verbose)
{
int res, ret, k, sense_cat;
- unsigned char scCmdBlk[SYNCHRONIZE_CACHE16_CMDLEN] =
+ unsigned char sc_cdb[SYNCHRONIZE_CACHE16_CMDLEN] =
{SYNCHRONIZE_CACHE16_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
if (sync_nv)
- scCmdBlk[1] |= 4; /* obsolete in sbc3r35d */
+ sc_cdb[1] |= 4; /* obsolete in sbc3r35d */
if (immed)
- scCmdBlk[1] |= 2;
- sg_put_unaligned_be64(lba, scCmdBlk + 2);
- scCmdBlk[14] = group & 0x1f;
- sg_put_unaligned_be32((uint32_t)num_lb, scCmdBlk + 10);
+ sc_cdb[1] |= 2;
+ sg_put_unaligned_be64(lba, sc_cdb + 2);
+ sc_cdb[14] = group & 0x1f;
+ sg_put_unaligned_be32((uint32_t)num_lb, sc_cdb + 10);
if (verbose) {
pr2serr(" synchronize cache(16) cdb: ");
for (k = 0; k < SYNCHRONIZE_CACHE16_CMDLEN; ++k)
- pr2serr("%02x ", scCmdBlk[k]);
+ pr2serr("%02x ", sc_cdb[k]);
pr2serr("\n");
}
ptvp = construct_scsi_pt_obj();
@@ -113,7 +113,7 @@ ll_sync_cache_16(int sg_fd, int sync_nv, int immed, int group,
pr2serr("synchronize cache(16): out of memory\n");
return -1;
}
- set_scsi_pt_cdb(ptvp, scCmdBlk, sizeof(scCmdBlk));
+ set_scsi_pt_cdb(ptvp, sc_cdb, sizeof(sc_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, to_secs, verbose);
ret = sg_cmds_process_resp(ptvp, "synchronize cache(16)", res, 0,
diff --git a/src/sg_test_rwbuf.c b/src/sg_test_rwbuf.c
index 13d98e38..db3ac5b4 100644
--- a/src/sg_test_rwbuf.c
+++ b/src/sg_test_rwbuf.c
@@ -1,7 +1,7 @@
/*
* (c) 2000 Kurt Garloff <garloff at suse dot de>
* heavily based on Douglas Gilbert's sg_rbuf program.
- * (c) 1999-2015 Douglas Gilbert
+ * (c) 1999-2016 Douglas Gilbert
*
* Program to test the SCSI host adapter by issueing
* write and read operations on a device's buffer
@@ -41,7 +41,7 @@
#include "sg_pr2serr.h"
-static const char * version_str = "1.09 20151220";
+static const char * version_str = "1.09 20160528";
#define BPI (signed)(sizeof(int))
@@ -84,29 +84,29 @@ static struct option long_options[] = {
int find_out_about_buffer (int sg_fd)
{
- unsigned char rbCmdBlk[] = {READ_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ unsigned char rb_cdb[] = {READ_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char rbBuff[RB_DESC_LEN];
unsigned char sense_buffer[32];
struct sg_io_hdr io_hdr;
int k, res;
- rbCmdBlk[1] = RB_MODE_DESC;
- rbCmdBlk[8] = RB_DESC_LEN;
+ rb_cdb[1] = RB_MODE_DESC;
+ rb_cdb[8] = RB_DESC_LEN;
memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(rbCmdBlk);
+ io_hdr.cmd_len = sizeof(rb_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = RB_DESC_LEN;
io_hdr.dxferp = rbBuff;
- io_hdr.cmdp = rbCmdBlk;
+ io_hdr.cmdp = rb_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.timeout = 60000; /* 60000 millisecs == 60 seconds */
if (verbose) {
pr2serr(" read buffer [mode desc] cdb: ");
- for (k = 0; k < (int)sizeof(rbCmdBlk); ++k)
- pr2serr("%02x ", rbCmdBlk[k]);
+ for (k = 0; k < (int)sizeof(rb_cdb); ++k)
+ pr2serr("%02x ", rb_cdb[k]);
pr2serr("\n");
}
if (ioctl(sg_fd, SG_IO, &io_hdr) < 0) {
@@ -215,7 +215,7 @@ void do_fill_buffer (int *buf, int len)
int read_buffer (int sg_fd, unsigned size)
{
int res, k;
- unsigned char rbCmdBlk[] = {READ_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ unsigned char rb_cdb[] = {READ_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int bufSize = size + addread;
unsigned char * rbBuff = (unsigned char *)malloc(bufSize);
unsigned char sense_buffer[32];
@@ -223,23 +223,23 @@ int read_buffer (int sg_fd, unsigned size)
if (NULL == rbBuff)
return -1;
- rbCmdBlk[1] = RWB_MODE_DATA;
- sg_put_unaligned_be24((uint32_t)bufSize, rbCmdBlk + 6);
+ rb_cdb[1] = RWB_MODE_DATA;
+ sg_put_unaligned_be24((uint32_t)bufSize, rb_cdb + 6);
memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(rbCmdBlk);
+ io_hdr.cmd_len = sizeof(rb_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_FROM_DEV;
io_hdr.dxfer_len = bufSize;
io_hdr.dxferp = rbBuff;
- io_hdr.cmdp = rbCmdBlk;
+ io_hdr.cmdp = rb_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.pack_id = 2;
io_hdr.timeout = 60000; /* 60000 millisecs == 60 seconds */
if (verbose) {
pr2serr(" read buffer [mode data] cdb: ");
- for (k = 0; k < (int)sizeof(rbCmdBlk); ++k)
- pr2serr("%02x ", rbCmdBlk[k]);
+ for (k = 0; k < (int)sizeof(rb_cdb); ++k)
+ pr2serr("%02x ", rb_cdb[k]);
pr2serr("\n");
}
@@ -269,7 +269,7 @@ int read_buffer (int sg_fd, unsigned size)
int write_buffer (int sg_fd, unsigned size)
{
- unsigned char wbCmdBlk[] = {WRITE_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ unsigned char wb_cdb[] = {WRITE_BUFFER, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int bufSize = size + addwrite;
unsigned char * wbBuff = (unsigned char *)malloc(bufSize);
unsigned char sense_buffer[32];
@@ -280,23 +280,23 @@ int write_buffer (int sg_fd, unsigned size)
return -1;
memset(wbBuff, 0, bufSize);
do_fill_buffer ((int*)wbBuff, size);
- wbCmdBlk[1] = RWB_MODE_DATA;
- sg_put_unaligned_be24((uint32_t)bufSize, wbCmdBlk + 6);
+ wb_cdb[1] = RWB_MODE_DATA;
+ sg_put_unaligned_be24((uint32_t)bufSize, wb_cdb + 6);
memset(&io_hdr, 0, sizeof(struct sg_io_hdr));
io_hdr.interface_id = 'S';
- io_hdr.cmd_len = sizeof(wbCmdBlk);
+ io_hdr.cmd_len = sizeof(wb_cdb);
io_hdr.mx_sb_len = sizeof(sense_buffer);
io_hdr.dxfer_direction = SG_DXFER_TO_DEV;
io_hdr.dxfer_len = bufSize;
io_hdr.dxferp = wbBuff;
- io_hdr.cmdp = wbCmdBlk;
+ io_hdr.cmdp = wb_cdb;
io_hdr.sbp = sense_buffer;
io_hdr.pack_id = 1;
io_hdr.timeout = 60000; /* 60000 millisecs == 60 seconds */
if (verbose) {
pr2serr(" write buffer [mode data] cdb: ");
- for (k = 0; k < (int)sizeof(wbCmdBlk); ++k)
- pr2serr("%02x ", wbCmdBlk[k]);
+ for (k = 0; k < (int)sizeof(wb_cdb); ++k)
+ pr2serr("%02x ", wb_cdb[k]);
pr2serr("\n");
}
diff --git a/src/sg_timestamp.c b/src/sg_timestamp.c
index 78f1bbdc..12f95ed7 100644
--- a/src/sg_timestamp.c
+++ b/src/sg_timestamp.c
@@ -33,7 +33,7 @@
* to the given SCSI device. Based on spc5r07.pdf .
*/
-static const char * version_str = "1.02 20160126";
+static const char * version_str = "1.02 20160528";
#define REP_TIMESTAMP_CMDLEN 12
#define SET_TIMESTAMP_CMDLEN 12
@@ -124,16 +124,16 @@ sg_ll_rep_timestamp(int sg_fd, void * resp, int mx_resp_len, int * residp,
int noisy, int verbose)
{
int k, ret, res, sense_cat;
- unsigned char rtCmdBlk[REP_TIMESTAMP_CMDLEN] =
+ unsigned char rt_cdb[REP_TIMESTAMP_CMDLEN] =
{SG_MAINTENANCE_IN, REP_TIMESTAMP_SA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32((uint32_t)mx_resp_len, rtCmdBlk + 6);
+ sg_put_unaligned_be32((uint32_t)mx_resp_len, rt_cdb + 6);
if (verbose) {
pr2serr(" Report timestamp cdb: ");
for (k = 0; k < REP_TIMESTAMP_CMDLEN; ++k)
- pr2serr("%02x ", rtCmdBlk[k]);
+ pr2serr("%02x ", rt_cdb[k]);
pr2serr("\n");
}
@@ -142,7 +142,7 @@ sg_ll_rep_timestamp(int sg_fd, void * resp, int mx_resp_len, int * residp,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, rtCmdBlk, sizeof(rtCmdBlk));
+ set_scsi_pt_cdb(ptvp, rt_cdb, sizeof(rt_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
@@ -182,17 +182,17 @@ sg_ll_set_timestamp(int sg_fd, void * paramp, int param_len, int noisy,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char stCmdBlk[SET_TIMESTAMP_CMDLEN] =
+ unsigned char st_cdb[SET_TIMESTAMP_CMDLEN] =
{SG_MAINTENANCE_OUT, SET_TIMESTAMP_SA, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
- sg_put_unaligned_be32(param_len, stCmdBlk + 6);
+ sg_put_unaligned_be32(param_len, st_cdb + 6);
if (verbose) {
pr2serr(" Set timestamp cdb: ");
for (k = 0; k < SET_TIMESTAMP_CMDLEN; ++k)
- pr2serr("%02x ", stCmdBlk[k]);
+ pr2serr("%02x ", st_cdb[k]);
pr2serr("\n");
if ((verbose > 1) && paramp && param_len) {
pr2serr(" set timestamp parameter list:\n");
@@ -205,7 +205,7 @@ sg_ll_set_timestamp(int sg_fd, void * paramp, int param_len, int noisy,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, stCmdBlk, sizeof(stCmdBlk));
+ set_scsi_pt_cdb(ptvp, st_cdb, sizeof(st_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
diff --git a/src/sg_turs.c b/src/sg_turs.c
index 64c151dc..7c19c1b1 100644
--- a/src/sg_turs.c
+++ b/src/sg_turs.c
@@ -15,6 +15,7 @@
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
+#include <stdbool.h>
#include <string.h>
#include <getopt.h>
@@ -31,7 +32,7 @@
#include "sg_pr2serr.h"
-static const char * version_str = "3.32 20160226";
+static const char * version_str = "3.33 20160525";
#if defined(MSC_VER) || defined(__MINGW32__)
#define HAVE_MS_SLEEP
@@ -61,12 +62,12 @@ static struct option long_options[] = {
struct opts_t {
int do_help;
int do_number;
- int do_progress;
- int do_time;
+ bool do_progress;
+ bool do_time;
int do_verbose;
- int do_version;
+ bool do_version;
const char * device_name;
- int opt_new;
+ bool opts_new;
};
@@ -107,7 +108,7 @@ static void usage_old()
static void usage_for(const struct opts_t * op)
{
- if (op->opt_new)
+ if (op->opts_new)
usage();
else
usage_old();
@@ -142,19 +143,19 @@ static int process_cl_new(struct opts_t * op, int argc, char * argv[])
case 'N':
break; /* ignore */
case 'O':
- op->opt_new = 0;
+ op->opts_new = false;
return 0;
case 'p':
- ++op->do_progress;
+ op->do_progress = true;
break;
case 't':
- ++op->do_time;
+ op->do_time = true;
break;
case 'v':
++op->do_verbose;
break;
case 'V':
- ++op->do_version;
+ op->do_version = true;
break;
default:
pr2serr("unrecognised option code %c [0x%x]\n", c, c);
@@ -193,21 +194,21 @@ static int process_cl_old(struct opts_t * op, int argc, char * argv[])
for (--plen, ++cp, jmp_out = 0; plen > 0; --plen, ++cp) {
switch (*cp) {
case 'N':
- op->opt_new = 1;
+ op->opts_new = true;
return 0;
case 'O':
break;
case 'p':
- ++op->do_progress;
+ op->do_progress = true;
break;
case 't':
- ++op->do_time;
+ op->do_time = true;
break;
case 'v':
++op->do_verbose;
break;
case 'V':
- ++op->do_verbose;
+ op->do_version = true;
break;
case '?':
usage_old();
@@ -254,14 +255,14 @@ static int process_cl(struct opts_t * op, int argc, char * argv[])
cp = getenv("SG3_UTILS_OLD_OPTS");
if (cp) {
- op->opt_new = 0;
+ op->opts_new = false;
res = process_cl_old(op, argc, argv);
- if ((0 == res) && op->opt_new)
+ if ((0 == res) && op->opts_new)
res = process_cl_new(op, argc, argv);
} else {
- op->opt_new = 1;
+ op->opts_new = true;
res = process_cl_new(op, argc, argv);
- if ((0 == res) && (0 == op->opt_new))
+ if ((0 == res) && (0 == op->opts_new))
res = process_cl_old(op, argc, argv);
}
return res;
@@ -271,7 +272,7 @@ int main(int argc, char * argv[])
{
int sg_fd, k, res, progress, pr, rem;
int num_errs = 0;
- int reported = 0;
+ bool reported = false;
int ret = 0;
#ifndef SG_LIB_MINGW
struct timeval start_tm, end_tm;
@@ -326,7 +327,7 @@ int main(int argc, char * argv[])
if (op->do_number > 1)
printf("Completed %d Test Unit Ready commands\n",
((k < op->do_number) ? k + 1 : k));
- } else {
+ } else { /* --progress not given */
#ifndef SG_LIB_MINGW
if (op->do_time) {
start_tm.tv_sec = 0;
@@ -348,7 +349,7 @@ int main(int argc, char * argv[])
op->do_verbose);
printf("%s\n", b);
}
- reported = 1;
+ reported = true;
break;
}
}
diff --git a/src/sg_vpd.c b/src/sg_vpd.c
index 3c4afb00..19473bb0 100644
--- a/src/sg_vpd.c
+++ b/src/sg_vpd.c
@@ -37,7 +37,7 @@
*/
-static const char * version_str = "1.23 20160521"; /* spc5r10 + sbc4r10 */
+static const char * version_str = "1.23 20160528"; /* spc5r10 + sbc4r10 */
/* These structures are duplicates of those of the same name in
@@ -481,20 +481,20 @@ pt_inquiry(int sg_fd, int evpd, int pg_op, void * resp, int mx_resp_len,
int * residp, int noisy, int verbose)
{
int res, ret, k, sense_cat, resid;
- unsigned char inqCmdBlk[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
+ unsigned char inq_cdb[INQUIRY_CMDLEN] = {INQUIRY_CMD, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
unsigned char * up;
struct sg_pt_base * ptvp;
if (evpd)
- inqCmdBlk[1] |= 1;
- inqCmdBlk[2] = (unsigned char)pg_op;
+ inq_cdb[1] |= 1;
+ inq_cdb[2] = (unsigned char)pg_op;
/* 16 bit allocation length (was 8) is a recent SPC-3 addition */
- sg_put_unaligned_be16((uint16_t)mx_resp_len, inqCmdBlk + 3);
+ sg_put_unaligned_be16((uint16_t)mx_resp_len, inq_cdb + 3);
if (verbose) {
pr2serr(" inquiry cdb: ");
for (k = 0; k < INQUIRY_CMDLEN; ++k)
- pr2serr("%02x ", inqCmdBlk[k]);
+ pr2serr("%02x ", inq_cdb[k]);
pr2serr("\n");
}
if (resp && (mx_resp_len > 0)) {
@@ -508,7 +508,7 @@ pt_inquiry(int sg_fd, int evpd, int pg_op, void * resp, int mx_resp_len,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, inqCmdBlk, sizeof(inqCmdBlk));
+ set_scsi_pt_cdb(ptvp, inq_cdb, sizeof(inq_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (unsigned char *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
diff --git a/src/sg_write_buffer.c b/src/sg_write_buffer.c
index 0e2f1bc1..184bc484 100644
--- a/src/sg_write_buffer.c
+++ b/src/sg_write_buffer.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2015 Luben Tuikov and Douglas Gilbert.
+ * Copyright (c) 2006-2016 Luben Tuikov and Douglas Gilbert.
* All rights reserved.
* Use of this source code is governed by a BSD-style
* license that can be found in the BSD_LICENSE file.
@@ -29,7 +29,7 @@
* This utility issues the SCSI WRITE BUFFER command to the given device.
*/
-static const char * version_str = "1.21 20151219"; /* spc5r02 */
+static const char * version_str = "1.21 20160528"; /* spc5r10 */
#define ME "sg_write_buffer: "
#define DEF_XFER_LEN (8 * 1024 * 1024)
@@ -181,7 +181,7 @@ sg_ll_write_buffer_v2(int sg_fd, int mode, int m_specific, int buffer_id,
uint32_t param_len, int to_secs, int noisy, int verbose)
{
int k, res, ret, sense_cat;
- uint8_t wbufCmdBlk[WRITE_BUFFER_CMDLEN] =
+ uint8_t wbuf_cdb[WRITE_BUFFER_CMDLEN] =
{WRITE_BUFFER_CMD, 0, 0, 0, 0, 0, 0, 0, 0, 0};
uint8_t sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -194,15 +194,15 @@ sg_ll_write_buffer_v2(int sg_fd, int mode, int m_specific, int buffer_id,
pr2serr("%s: param_len value too large for 24 bits\n", __func__);
return -1;
}
- wbufCmdBlk[1] = (uint8_t)(mode & 0x1f);
- wbufCmdBlk[1] |= (uint8_t)((m_specific & 0x7) << 5);
- wbufCmdBlk[2] = (uint8_t)(buffer_id & 0xff);
- sg_put_unaligned_be24(buffer_offset, wbufCmdBlk + 3);
- sg_put_unaligned_be24(param_len, wbufCmdBlk + 6);
+ wbuf_cdb[1] = (uint8_t)(mode & 0x1f);
+ wbuf_cdb[1] |= (uint8_t)((m_specific & 0x7) << 5);
+ wbuf_cdb[2] = (uint8_t)(buffer_id & 0xff);
+ sg_put_unaligned_be24(buffer_offset, wbuf_cdb + 3);
+ sg_put_unaligned_be24(param_len, wbuf_cdb + 6);
if (verbose) {
pr2serr(" Write buffer cmd: ");
for (k = 0; k < WRITE_BUFFER_CMDLEN; ++k)
- pr2serr("%02x ", wbufCmdBlk[k]);
+ pr2serr("%02x ", wbuf_cdb[k]);
pr2serr("\n");
if ((verbose > 1) && paramp && param_len) {
pr2serr(" Write buffer parameter list%s:\n",
@@ -217,7 +217,7 @@ sg_ll_write_buffer_v2(int sg_fd, int mode, int m_specific, int buffer_id,
pr2serr("%s: out of memory\n", __func__);
return -1;
}
- set_scsi_pt_cdb(ptvp, wbufCmdBlk, sizeof(wbufCmdBlk));
+ set_scsi_pt_cdb(ptvp, wbuf_cdb, sizeof(wbuf_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (uint8_t *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, to_secs, verbose);
diff --git a/src/sg_write_same.c b/src/sg_write_same.c
index b9d33b18..7c9078ac 100644
--- a/src/sg_write_same.c
+++ b/src/sg_write_same.c
@@ -29,7 +29,7 @@
#include "sg_unaligned.h"
#include "sg_pr2serr.h"
-static const char * version_str = "1.14 20160521";
+static const char * version_str = "1.14 20160528";
#define ME "sg_write_same: "
@@ -159,7 +159,7 @@ do_write_same(int sg_fd, const struct opts_t * op, const void * dataoutp,
{
int k, ret, res, sense_cat, cdb_len;
uint64_t llba;
- unsigned char wsCmdBlk[WRITE_SAME32_LEN];
+ unsigned char ws_cdb[WRITE_SAME32_LEN];
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
@@ -184,62 +184,62 @@ do_write_same(int sg_fd, const struct opts_t * op, const void * dataoutp,
}
if (act_cdb_lenp)
*act_cdb_lenp = cdb_len;
- memset(wsCmdBlk, 0, sizeof(wsCmdBlk));
+ memset(ws_cdb, 0, sizeof(ws_cdb));
switch (cdb_len) {
case WRITE_SAME10_LEN:
- wsCmdBlk[0] = WRITE_SAME10_OP;
- wsCmdBlk[1] = ((op->wrprotect & 0x7) << 5);
+ ws_cdb[0] = WRITE_SAME10_OP;
+ ws_cdb[1] = ((op->wrprotect & 0x7) << 5);
/* ANCHOR + UNMAP not allowed for WRITE_SAME10 in sbc3r24+r25 but
* a proposal has been made to allow it. Anticipate approval. */
if (op->anchor)
- wsCmdBlk[1] |= 0x10;
+ ws_cdb[1] |= 0x10;
if (op->unmap)
- wsCmdBlk[1] |= 0x8;
+ ws_cdb[1] |= 0x8;
if (op->pbdata)
- wsCmdBlk[1] |= 0x4;
+ ws_cdb[1] |= 0x4;
if (op->lbdata)
- wsCmdBlk[1] |= 0x2;
- sg_put_unaligned_be32((uint32_t)op->lba, wsCmdBlk + 2);
- wsCmdBlk[6] = (op->grpnum & 0x1f);
- sg_put_unaligned_be16((uint16_t)op->numblocks, wsCmdBlk + 7);
+ ws_cdb[1] |= 0x2;
+ sg_put_unaligned_be32((uint32_t)op->lba, ws_cdb + 2);
+ ws_cdb[6] = (op->grpnum & 0x1f);
+ sg_put_unaligned_be16((uint16_t)op->numblocks, ws_cdb + 7);
break;
case WRITE_SAME16_LEN:
- wsCmdBlk[0] = WRITE_SAME16_OP;
- wsCmdBlk[1] = ((op->wrprotect & 0x7) << 5);
+ ws_cdb[0] = WRITE_SAME16_OP;
+ ws_cdb[1] = ((op->wrprotect & 0x7) << 5);
if (op->anchor)
- wsCmdBlk[1] |= 0x10;
+ ws_cdb[1] |= 0x10;
if (op->unmap)
- wsCmdBlk[1] |= 0x8;
+ ws_cdb[1] |= 0x8;
if (op->pbdata)
- wsCmdBlk[1] |= 0x4;
+ ws_cdb[1] |= 0x4;
if (op->lbdata)
- wsCmdBlk[1] |= 0x2;
+ ws_cdb[1] |= 0x2;
if (op->ndob)
- wsCmdBlk[1] |= 0x1;
- sg_put_unaligned_be64(op->lba, wsCmdBlk + 2);
- sg_put_unaligned_be32((uint32_t)op->numblocks, wsCmdBlk + 10);
- wsCmdBlk[14] = (op->grpnum & 0x1f);
+ ws_cdb[1] |= 0x1;
+ sg_put_unaligned_be64(op->lba, ws_cdb + 2);
+ sg_put_unaligned_be32((uint32_t)op->numblocks, ws_cdb + 10);
+ ws_cdb[14] = (op->grpnum & 0x1f);
break;
case WRITE_SAME32_LEN:
/* Note: In Linux at this time the sg driver does not support
* cdb_s > 16 bytes long, but the bsg driver does. */
- wsCmdBlk[0] = VARIABLE_LEN_OP;
- wsCmdBlk[6] = (op->grpnum & 0x1f);
- wsCmdBlk[7] = WRITE_SAME32_ADD;
- sg_put_unaligned_be16((uint16_t)WRITE_SAME32_SA, wsCmdBlk + 8);
- wsCmdBlk[10] = ((op->wrprotect & 0x7) << 5);
+ ws_cdb[0] = VARIABLE_LEN_OP;
+ ws_cdb[6] = (op->grpnum & 0x1f);
+ ws_cdb[7] = WRITE_SAME32_ADD;
+ sg_put_unaligned_be16((uint16_t)WRITE_SAME32_SA, ws_cdb + 8);
+ ws_cdb[10] = ((op->wrprotect & 0x7) << 5);
if (op->anchor)
- wsCmdBlk[10] |= 0x10;
+ ws_cdb[10] |= 0x10;
if (op->unmap)
- wsCmdBlk[10] |= 0x8;
+ ws_cdb[10] |= 0x8;
if (op->pbdata)
- wsCmdBlk[10] |= 0x4;
+ ws_cdb[10] |= 0x4;
if (op->lbdata)
- wsCmdBlk[10] |= 0x2;
+ ws_cdb[10] |= 0x2;
if (op->ndob)
- wsCmdBlk[10] |= 0x1;
- sg_put_unaligned_be64(op->lba, wsCmdBlk + 12);
- sg_put_unaligned_be32((uint32_t)op->numblocks, wsCmdBlk + 28);
+ ws_cdb[10] |= 0x1;
+ sg_put_unaligned_be64(op->lba, ws_cdb + 12);
+ sg_put_unaligned_be32((uint32_t)op->numblocks, ws_cdb + 28);
break;
default:
pr2serr("do_write_same: bad cdb length %d\n", cdb_len);
@@ -249,7 +249,7 @@ do_write_same(int sg_fd, const struct opts_t * op, const void * dataoutp,
if (op->verbose > 1) {
pr2serr(" Write same(%d) cmd: ", cdb_len);
for (k = 0; k < cdb_len; ++k)
- pr2serr("%02x ", wsCmdBlk[k]);
+ pr2serr("%02x ", ws_cdb[k]);
pr2serr("\n Data-out buffer length=%d\n",
op->xfer_len);
}
@@ -262,7 +262,7 @@ do_write_same(int sg_fd, const struct opts_t * op, const void * dataoutp,
pr2serr("Write same(%d): out of memory\n", cdb_len);
return -1;
}
- set_scsi_pt_cdb(ptvp, wsCmdBlk, cdb_len);
+ set_scsi_pt_cdb(ptvp, ws_cdb, cdb_len);
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (unsigned char *)dataoutp, op->xfer_len);
res = do_scsi_pt(ptvp, sg_fd, op->timeout, op->verbose);
diff --git a/src/sg_zone.c b/src/sg_zone.c
index 36f3834b..cbf3e778 100644
--- a/src/sg_zone.c
+++ b/src/sg_zone.c
@@ -32,7 +32,7 @@
* to the given SCSI device. Based on zbc-r04c.pdf .
*/
-static const char * version_str = "1.03 20160324";
+static const char * version_str = "1.03 20160528";
#define SG_ZONING_OUT_CMDLEN 16
#define CLOSE_ZONE_SA 0x1
@@ -94,21 +94,21 @@ sg_ll_zone_out(int sg_fd, int sa, uint64_t zid, int all, int noisy,
int verbose)
{
int k, ret, res, sense_cat;
- unsigned char zoCmdBlk[SG_ZONING_OUT_CMDLEN] =
+ unsigned char zo_cdb[SG_ZONING_OUT_CMDLEN] =
{SG_ZONING_OUT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
unsigned char sense_b[SENSE_BUFF_LEN];
struct sg_pt_base * ptvp;
char b[64];
- zoCmdBlk[1] = 0x1f & sa;
- sg_put_unaligned_be64(zid, zoCmdBlk + 2);
+ zo_cdb[1] = 0x1f & sa;
+ sg_put_unaligned_be64(zid, zo_cdb + 2);
if (all)
- zoCmdBlk[14] = 0x1;
- sg_get_opcode_sa_name(zoCmdBlk[0], sa, -1, sizeof(b), b);
+ zo_cdb[14] = 0x1;
+ sg_get_opcode_sa_name(zo_cdb[0], sa, -1, sizeof(b), b);
if (verbose) {
pr2serr(" %s cdb: ", b);
for (k = 0; k < SG_ZONING_OUT_CMDLEN; ++k)
- pr2serr("%02x ", zoCmdBlk[k]);
+ pr2serr("%02x ", zo_cdb[k]);
pr2serr("\n");
}
@@ -117,7 +117,7 @@ sg_ll_zone_out(int sg_fd, int sa, uint64_t zid, int all, int noisy,
pr2serr("%s: out of memory\n", b);
return -1;
}
- set_scsi_pt_cdb(ptvp, zoCmdBlk, sizeof(zoCmdBlk));
+ set_scsi_pt_cdb(ptvp, zo_cdb, sizeof(zo_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
ret = sg_cmds_process_resp(ptvp, "reset write pointer", res, 0, sense_b,