diff options
Diffstat (limited to 'lib/sg_cmds_extra.c')
-rw-r--r-- | lib/sg_cmds_extra.c | 263 |
1 files changed, 88 insertions, 175 deletions
diff --git a/lib/sg_cmds_extra.c b/lib/sg_cmds_extra.c index bebc8592..5b168bf8 100644 --- a/lib/sg_cmds_extra.c +++ b/lib/sg_cmds_extra.c @@ -164,12 +164,9 @@ sg_ll_get_lba_status16(int sg_fd, uint64_t start_llba, uint8_t rt, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, alloc_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -243,12 +240,9 @@ sg_ll_get_lba_status32(int sg_fd, uint64_t start_llba, uint32_t scan_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, alloc_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -316,12 +310,9 @@ sg_ll_report_tgt_prt_grp2(int sg_fd, void * resp, int mx_resp_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -383,12 +374,9 @@ sg_ll_set_tgt_prt_grp(int sg_fd, void * paramp, int param_len, bool noisy, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -438,12 +426,9 @@ sg_ll_report_referrals(int sg_fd, uint64_t start_llba, bool one_seg, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -525,12 +510,9 @@ sg_ll_send_diag(int sg_fd, int st_code, bool pf_bit, bool st_bit, res = do_scsi_pt(ptvp, sg_fd, tmout, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -600,12 +582,9 @@ sg_ll_receive_diag_v2(int sg_fd, bool pcv, int pg_code, void * resp, resid = get_scsi_pt_resid(ptvp); if (residp) *residp = resid; - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -671,12 +650,9 @@ sg_ll_read_defect10(int sg_fd, bool req_plist, bool req_glist, int dl_format, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -734,12 +710,9 @@ sg_ll_read_media_serial_num(int sg_fd, void * resp, int mx_resp_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -800,12 +773,9 @@ sg_ll_report_id_info(int sg_fd, int itype, void * resp, int max_resp_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, max_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -869,12 +839,9 @@ sg_ll_set_id_info(int sg_fd, int itype, void * paramp, int param_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -966,12 +933,9 @@ sg_ll_format_unit_v2(int sg_fd, int fmtpinfo, bool longlist, bool fmtdata, res = do_scsi_pt(ptvp, sg_fd, tmout, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1024,12 +988,9 @@ sg_ll_reassign_blocks(int sg_fd, bool longlba, bool longlist, void * paramp, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1079,12 +1040,9 @@ sg_ll_persistent_reserve_in(int sg_fd, int rq_servact, void * resp, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1151,12 +1109,9 @@ sg_ll_persistent_reserve_out(int sg_fd, int rq_servact, int rq_scope, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1229,12 +1184,9 @@ sg_ll_read_long10(int sg_fd, bool pblock, bool correct, unsigned int lba, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, xfer_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1322,12 +1274,9 @@ sg_ll_read_long16(int sg_fd, bool pblock, bool correct, uint64_t llba, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, xfer_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1417,7 +1366,7 @@ sg_ll_write_long10(int sg_fd, bool cor_dis, bool wr_uncor, bool pblock, ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); if (-1 == ret) - ; + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: @@ -1496,12 +1445,9 @@ sg_ll_write_long16(int sg_fd, bool cor_dis, bool wr_uncor, bool pblock, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1583,12 +1529,9 @@ sg_ll_verify10(int sg_fd, int vrprotect, bool dpo, int bytchk, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1664,12 +1607,9 @@ sg_ll_verify16(int sg_fd, int vrprotect, bool dpo, int bytchk, uint64_t llba, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1907,12 +1847,9 @@ sg_ll_read_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -1983,12 +1920,9 @@ sg_ll_write_buffer(int sg_fd, int mode, int buffer_id, int buffer_offset, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2063,12 +1997,9 @@ sg_ll_write_buffer_v2(int sg_fd, int mode, int m_specific, int buffer_id, res = do_scsi_pt(ptvp, sg_fd, timeout_secs, verbose); ret = sg_cmds_process_resp(ptvp, "Write buffer", res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2132,12 +2063,9 @@ sg_ll_unmap_v2(int sg_fd, bool anchor, int group_num, int timeout_secs, res = do_scsi_pt(ptvp, sg_fd, tmout, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2181,12 +2109,9 @@ sg_ll_read_block_limits(int sg_fd, void * resp, int mx_resp_len, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2251,12 +2176,9 @@ sg_ll_receive_copy_results(int sg_fd, int sa, int list_id, void * resp, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, b, res, mx_resp_len, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2313,12 +2235,9 @@ sg_ll_extended_copy(int sg_fd, void * paramp, int param_len, bool noisy, res = do_scsi_pt(ptvp, sg_fd, DEF_PT_TIMEOUT, verbose); ret = sg_cmds_process_resp(ptvp, opcode_name, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2393,12 +2312,9 @@ sg_ll_3party_copy_out(int sg_fd, int sa, unsigned int list_id, int group_num, res = do_scsi_pt(ptvp, sg_fd, tmout, verbose); ret = sg_cmds_process_resp(ptvp, cname, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: @@ -2501,12 +2417,9 @@ sg_ll_pre_fetch_x(int sg_fd, bool do_seek10, bool cdb16, bool immed, } ret = sg_cmds_process_resp(ptvp, cdb_name_s, res, SG_NO_DATA_IN, sense_b, noisy, verbose, &sense_cat); - if (-1 == ret) { - int os_err = get_scsi_pt_os_err(ptvp); - - if ((os_err > 0) && (os_err < 47)) - ret = SG_LIB_OS_BASE_ERR + os_err; - } else if (-2 == ret) { + if (-1 == ret) + ret = sg_convert_errno(get_scsi_pt_os_err(ptvp)); + else if (-2 == ret) { switch (sense_cat) { case SG_LIB_CAT_RECOVERED: case SG_LIB_CAT_NO_SENSE: |