From 3ef8550a26c95c97f9fdc4ef249a5767fd573e7a Mon Sep 17 00:00:00 2001 From: Douglas Gilbert Date: Fri, 29 Jun 2018 09:46:13 +0000 Subject: 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 --- src/sg_bg_ctl.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'src/sg_bg_ctl.c') diff --git a/src/sg_bg_ctl.c b/src/sg_bg_ctl.c index f0ea7ff6..2c62b1d6 100644 --- a/src/sg_bg_ctl.c +++ b/src/sg_bg_ctl.c @@ -33,7 +33,7 @@ * device. Based on sbc4r10.pdf . */ -static const char * version_str = "1.08 20180512"; +static const char * version_str = "1.09 20180625"; #define BACKGROUND_CONTROL_SA 0x15 @@ -137,6 +137,8 @@ sg_ll_background_control(int sg_fd, unsigned int bo_ctl, unsigned int bo_time, int main(int argc, char * argv[]) { + bool verbose_given = false; + bool version_given = false; int sg_fd = -1; int res, c; unsigned int ctl = 0; @@ -171,11 +173,12 @@ main(int argc, char * argv[]) } 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(); @@ -195,9 +198,29 @@ 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 SG_LIB_SYNTAX_ERROR; } -- cgit v1.2.3