aboutsummaryrefslogtreecommitdiff
path: root/src/sg_sat_identify.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2018-06-29 09:46:13 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2018-06-29 09:46:13 +0000
commit3ef8550a26c95c97f9fdc4ef249a5767fd573e7a (patch)
treeae1e82f2ff36a06a02184a3eeb19cffe217fcb2f /src/sg_sat_identify.c
parent11f6f1f439415e57696f473b1475f190018741c7 (diff)
downloadsg3_utils-3ef8550a26c95c97f9fdc4ef249a5767fd573e7a.tar.gz
sg_opcode: support MLU, Multiple Logical Units (18-045r1); sg_lib: sg_simple_inquiry_pt(); ./configure: option --enable-debug added for testing
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@779 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_sat_identify.c')
-rw-r--r--src/sg_sat_identify.c46
1 files changed, 37 insertions, 9 deletions
diff --git a/src/sg_sat_identify.c b/src/sg_sat_identify.c
index 454b8c06..7016ef97 100644
--- a/src/sg_sat_identify.c
+++ b/src/sg_sat_identify.c
@@ -70,7 +70,9 @@ static struct option long_options[] = {
{0, 0, 0, 0},
};
-static void usage()
+
+static void
+usage()
{
pr2serr("Usage: sg_sat_identify [--ck_cond] [--extend] [--help] [--hex] "
"[--ident]\n"
@@ -101,7 +103,8 @@ static void usage()
"support the SCSI ATA\nPASS-THROUGH(32) command.\n");
}
-static void dStrRaw(const uint8_t * str, int len)
+static void
+dStrRaw(const uint8_t * str, int len)
{
int k;
@@ -109,9 +112,10 @@ static void dStrRaw(const uint8_t * str, int len)
printf("%c", str[k]);
}
-static int do_identify_dev(int sg_fd, bool do_packet, int cdb_len,
- bool ck_cond, bool extend, bool do_ident,
- int do_hex, bool do_raw, int verbose)
+static int
+do_identify_dev(int sg_fd, bool do_packet, int cdb_len, bool ck_cond,
+ bool extend, bool do_ident, int do_hex, bool do_raw,
+ int verbose)
{
bool t_type = false;/* false -> 512 byte blocks,
true -> device's LB size */
@@ -385,7 +389,8 @@ static int do_identify_dev(int sg_fd, bool do_packet, int cdb_len,
return 0;
}
-int main(int argc, char * argv[])
+int
+main(int argc, char * argv[])
{
bool do_packet = false;
bool do_ident = false;
@@ -393,6 +398,8 @@ int main(int argc, char * argv[])
bool o_readonly = false;
bool ck_cond = false; /* set to true to read register(s) back */
bool extend = false; /* set to true to send 48 bit LBA with command */
+ bool verbose_given = false;
+ bool version_given = false;
int c, res;
int sg_fd = -1;
int cdb_len = SAT_ATA_PASS_THROUGH16_LEN;
@@ -448,11 +455,12 @@ int main(int argc, char * argv[])
o_readonly = true;
break;
case 'v':
+ verbose_given = true;
++verbose;
break;
case 'V':
- pr2serr("version: %s\n", version_str);
- return 0;
+ version_given = true;
+ break;
default:
pr2serr("unrecognised option code 0x%x ??\n", c);
usage();
@@ -471,9 +479,29 @@ int main(int argc, char * argv[])
return SG_LIB_SYNTAX_ERROR;
}
}
+#ifdef DEBUG
+ pr2serr("In DEBUG mode, ");
+ if (verbose_given && version_given) {
+ pr2serr("but override: '-vV' given, zero verbose and continue\n");
+ verbose_given = false;
+ version_given = false;
+ verbose = 0;
+ } else if (! verbose_given) {
+ pr2serr("set '-vv'\n");
+ verbose = 2;
+ } else
+ pr2serr("keep verbose=%d\n", verbose);
+#else
+ if (verbose_given && version_given)
+ pr2serr("Not in DEBUG mode, so '-vV' has no special action\n");
+#endif
+ if (version_given) {
+ pr2serr("version: %s\n", version_str);
+ return 0;
+ }
if (NULL == device_name) {
- pr2serr("missing device name!\n");
+ pr2serr("Missing device name!\n\n");
usage();
return 1;
}