"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/sg_timestamp.c" between
sg3_utils-1.47r908.tgz and sg3_utils-1.47r915.tar.xz

About: sg3_utils contains utilities that send SCSI commands to devices. Beta version.

sg_timestamp.c  (sg3_utils-1.47r908.tgz):sg_timestamp.c  (sg3_utils-1.47r915.tar.xz)
/* /*
* Copyright (c) 2015-2019 Douglas Gilbert. * Copyright (c) 2015-2021 Douglas Gilbert.
* All rights reserved. * All rights reserved.
* Use of this source code is governed by a BSD-style * Use of this source code is governed by a BSD-style
* license that can be found in the BSD_LICENSE file. * license that can be found in the BSD_LICENSE file.
* *
* SPDX-License-Identifier: BSD-2-Clause * SPDX-License-Identifier: BSD-2-Clause
*/ */
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
#include <stdio.h> #include <stdio.h>
skipping to change at line 40 skipping to change at line 40
#include "sg_unaligned.h" #include "sg_unaligned.h"
#include "sg_pr2serr.h" #include "sg_pr2serr.h"
/* A utility program originally written for the Linux OS SCSI subsystem. /* A utility program originally written for the Linux OS SCSI subsystem.
* *
* *
* This program issues a SCSI REPORT TIMESTAMP and SET TIMESTAMP commands * This program issues a SCSI REPORT TIMESTAMP and SET TIMESTAMP commands
* to the given SCSI device. Based on spc5r07.pdf . * to the given SCSI device. Based on spc5r07.pdf .
*/ */
static const char * version_str = "1.14 20191220"; static const char * version_str = "1.14 20210830";
#define REP_TIMESTAMP_CMDLEN 12 #define REP_TIMESTAMP_CMDLEN 12
#define SET_TIMESTAMP_CMDLEN 12 #define SET_TIMESTAMP_CMDLEN 12
#define REP_TIMESTAMP_SA 0xf #define REP_TIMESTAMP_SA 0xf
#define SET_TIMESTAMP_SA 0xf #define SET_TIMESTAMP_SA 0xf
#define SENSE_BUFF_LEN 64 /* Arbitrary, could be larger */ #define SENSE_BUFF_LEN 64 /* Arbitrary, could be larger */
#define DEF_PT_TIMEOUT 60 /* 60 seconds */ #define DEF_PT_TIMEOUT 60 /* 60 seconds */
uint8_t d_buff[256]; uint8_t d_buff[256];
skipping to change at line 221 skipping to change at line 221
if (NULL == ptvp) { if (NULL == ptvp) {
pr2serr("%s: out of memory\n", __func__); pr2serr("%s: out of memory\n", __func__);
return -1; return -1;
} }
set_scsi_pt_cdb(ptvp, rt_cdb, sizeof(rt_cdb)); set_scsi_pt_cdb(ptvp, rt_cdb, sizeof(rt_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b)); set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_in(ptvp, (uint8_t *)resp, mx_resp_len); set_scsi_pt_data_in(ptvp, (uint8_t *)resp, mx_resp_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
ret = sg_cmds_process_resp(ptvp, "report timestamp", res, noisy, verbose, ret = sg_cmds_process_resp(ptvp, "report timestamp", res, noisy, verbose,
&sense_cat); &sense_cat);
if (-1 == ret) if (-1 == ret) {
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); if (get_scsi_pt_transport_err(ptvp))
else if (-2 == ret) { ret = SG_LIB_TRANSPORT_ERROR;
else
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
} else if (-2 == ret) {
switch (sense_cat) { switch (sense_cat) {
case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_RECOVERED:
case SG_LIB_CAT_NO_SENSE: case SG_LIB_CAT_NO_SENSE:
ret = 0; ret = 0;
break; break;
default: default:
ret = sense_cat; ret = sense_cat;
break; break;
} }
} else } else
skipping to change at line 284 skipping to change at line 287
if (NULL == ptvp) { if (NULL == ptvp) {
pr2serr("%s: out of memory\n", __func__); pr2serr("%s: out of memory\n", __func__);
return -1; return -1;
} }
set_scsi_pt_cdb(ptvp, st_cdb, sizeof(st_cdb)); set_scsi_pt_cdb(ptvp, st_cdb, sizeof(st_cdb));
set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b)); set_scsi_pt_sense(ptvp, sense_b, sizeof(sense_b));
set_scsi_pt_data_out(ptvp, (uint8_t *)paramp, param_len); set_scsi_pt_data_out(ptvp, (uint8_t *)paramp, param_len);
res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose);
ret = sg_cmds_process_resp(ptvp, "set timestamp", res, noisy, verbose, ret = sg_cmds_process_resp(ptvp, "set timestamp", res, noisy, verbose,
&sense_cat); &sense_cat);
if (-1 == ret) if (-1 == ret) {
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); if (get_scsi_pt_transport_err(ptvp))
else if (-2 == ret) { ret = SG_LIB_TRANSPORT_ERROR;
else
ret = sg_convert_errno(get_scsi_pt_os_err(ptvp));
} else if (-2 == ret) {
switch (sense_cat) { switch (sense_cat) {
case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_RECOVERED:
case SG_LIB_CAT_NO_SENSE: case SG_LIB_CAT_NO_SENSE:
ret = 0; ret = 0;
break; break;
default: default:
ret = sense_cat; ret = sense_cat;
break; break;
} }
} else } else
 End of changes. 4 change blocks. 
8 lines changed or deleted 14 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)