smartmontools SVN Rev 5640
Utility to control and monitor storage systems with "S.M.A.R.T."
|
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
Go to the source code of this file.
Classes | |
struct | scsi_cmnd_io |
struct | scsi_sense_disect |
struct | scsi_iec_mode_page |
struct | scsiErrorCounter |
struct | scsiNonMediumError |
struct | scsi_readcap_resp |
struct | scsi_supp_log_pages |
class | supported_vpd_pages |
Functions | |
bool | is_scsi_cdb (const uint8_t *cdbp, int clen) |
void | scsi_do_sense_disect (const struct scsi_cmnd_io *in, struct scsi_sense_disect *out) |
int | scsiSimpleSenseFilter (const struct scsi_sense_disect *sinfo) |
const char * | scsiErrString (int scsiErr) |
char * | scsi_get_sense_key_str (int sense_key, int buff_len, char *buff) |
int | scsi_vpd_dev_id_iter (const unsigned char *initial_desig_desc, int page_len, int *off, int m_assoc, int m_desig_type, int m_code_set) |
int | scsi_decode_lu_dev_id (const unsigned char *b, int blen, char *s, int slen, int *transport) |
int | scsiTestUnitReady (scsi_device *device) |
int | scsiStdInquiry (scsi_device *device, uint8_t *pBuf, int bufLen) |
int | scsiInquiryVpd (scsi_device *device, int vpd_page, uint8_t *pBuf, int bufLen) |
int | scsiLogSense (scsi_device *device, int pagenum, int subpagenum, uint8_t *pBuf, int bufLen, int known_resp_len) |
int | scsiLogSelect (scsi_device *device, int pcr, int sp, int pc, int pagenum, int subpagenum, uint8_t *pBuf, int bufLen) |
int | scsiModeSense (scsi_device *device, int pagenum, int subpagenum, int pc, uint8_t *pBuf, int bufLen) |
int | scsiModeSelect (scsi_device *device, int sp, uint8_t *pBuf, int bufLen) |
int | scsiModeSense10 (scsi_device *device, int pagenum, int subpagenum, int pc, uint8_t *pBuf, int bufLen) |
int | scsiModeSelect10 (scsi_device *device, int sp, uint8_t *pBuf, int bufLen) |
int | scsiModePageOffset (const uint8_t *resp, int len, int modese_len) |
int | scsiRequestSense (scsi_device *device, struct scsi_sense_disect *sense_info) |
int | scsiSetPowerCondition (scsi_device *device, int power_cond, int pcond_modifier=0) |
int | scsiSendDiagnostic (scsi_device *device, int functioncode, uint8_t *pBuf, int bufLen) |
bool | scsi_pass_through_yield_sense (scsi_device *device, scsi_cmnd_io *iop, struct scsi_sense_disect &sinfo) |
int | scsiReadDefect10 (scsi_device *device, int req_plist, int req_glist, int dl_format, uint8_t *pBuf, int bufLen) |
int | scsiReadDefect12 (scsi_device *device, int req_plist, int req_glist, int dl_format, int addrDescIndex, uint8_t *pBuf, int bufLen) |
int | scsiReadCapacity10 (scsi_device *device, unsigned int *last_lbp, unsigned int *lb_sizep) |
int | scsiReadCapacity16 (scsi_device *device, uint8_t *pBuf, int bufLen) |
int | scsiRSOCcmd (scsi_device *device, bool rctd, uint8_t rep_opt, uint8_t opcode, uint16_t serv_act, uint8_t *pBuf, int bufLen, int &rspLen) |
int | scsiCheckIE (scsi_device *device, int hasIELogPage, int hasTempLogPage, uint8_t *asc, uint8_t *ascq, uint8_t *currenttemp, uint8_t *triptemp) |
int | scsiFetchIECmpage (scsi_device *device, struct scsi_iec_mode_page *iecp, int modese_len) |
int | scsi_IsExceptionControlEnabled (const struct scsi_iec_mode_page *iecp) |
int | scsi_IsWarningEnabled (const struct scsi_iec_mode_page *iecp) |
int | scsiSetExceptionControlAndWarning (scsi_device *device, int enabled, const struct scsi_iec_mode_page *iecp) |
void | scsiDecodeErrCounterPage (unsigned char *resp, struct scsiErrorCounter *ecp, int allocLen) |
void | scsiDecodeNonMediumErrPage (unsigned char *resp, struct scsiNonMediumError *nmep, int allocLen) |
int | scsiFetchExtendedSelfTestTime (scsi_device *device, int *durationSec, int modese_len) |
int | scsiCountFailedSelfTests (scsi_device *device, int noisy) |
int | scsiSelfTestInProgress (scsi_device *device, int *inProgress) |
int | scsiFetchControlGLTSD (scsi_device *device, int modese_len, int current) |
int | scsiSetControlGLTSD (scsi_device *device, int enabled, int modese_len) |
int | scsiFetchTransportProtocol (scsi_device *device, int modese_len) |
int | scsiGetRPM (scsi_device *device, int modese_len, int *form_factorp, int *haw_zbcp) |
int | scsiGetSetCache (scsi_device *device, int modese_len, short int *wce, short int *rcd) |
uint64_t | scsiGetSize (scsi_device *device, bool avoid_rcap16, struct scsi_readcap_resp *srrp) |
char * | scsiGetIEString (uint8_t asc, uint8_t ascq, char *b, int blen) |
int | scsiGetTemp (scsi_device *device, uint8_t *currenttemp, uint8_t *triptemp) |
int | scsiSmartDefaultSelfTest (scsi_device *device) |
int | scsiSmartShortSelfTest (scsi_device *device) |
int | scsiSmartExtendSelfTest (scsi_device *device) |
int | scsiSmartShortCapSelfTest (scsi_device *device) |
int | scsiSmartExtendCapSelfTest (scsi_device *device) |
int | scsiSmartSelfTestAbort (scsi_device *device) |
const char * | scsiTapeAlertsTapeDevice (unsigned short code) |
const char * | scsiTapeAlertsChangerDevice (unsigned short code) |
const char * | scsi_get_opcode_name (const uint8_t *cdbp) |
void | scsi_format_id_string (char *out, const uint8_t *in, int n) |
void | dStrHex (const uint8_t *up, int len, int no_ascii) |
void | dStrHexFp (const uint8_t *up, int len, int no_ascii, FILE *fp) |
const unsigned char * | sg_scsi_sense_desc_find (const unsigned char *sensep, int sense_len, int desc_type) |
Variables | |
supported_vpd_pages * | supported_vpd_pages_p |
unsigned char | scsi_debugmode |
#define ALL_MODE_PAGES 0x3f |
Definition at line 298 of file scsicmds.h.
#define APPLICATION_CLIENT_LPAGE 0x0f |
Definition at line 231 of file scsicmds.h.
#define ATA_PT_RESULTS_LPAGE 0x16 /* SAT */ |
Definition at line 236 of file scsicmds.h.
#define BACKGROUND_CONTROL_M_SUBPAGE 0x1 /* SBC-2 */ |
Definition at line 296 of file scsicmds.h.
#define BACKGROUND_OP_L_SPAGE 0x2 /* 0x15,0x2 */ |
Definition at line 252 of file scsicmds.h.
#define BACKGROUND_RESULTS_LPAGE 0x15 /* SBC-3 */ |
Definition at line 235 of file scsicmds.h.
#define BUFFER_OVERRUN_LPAGE 0x01 |
Definition at line 219 of file scsicmds.h.
#define CACHING_PAGE 0x08 |
Definition at line 279 of file scsicmds.h.
#define CD_AUDIO_CONTROL_PAGE 0x0e |
Definition at line 286 of file scsicmds.h.
#define CD_DEVICE_PAGE 0x0d |
Definition at line 285 of file scsicmds.h.
#define CONTROL_MODE_PAGE 0x0a |
Definition at line 282 of file scsicmds.h.
#define DATA_COMPRESSION_PAGE 0x0f |
Definition at line 287 of file scsicmds.h.
#define DEVICE_STATS_LPAGE 0x14 /* SSC-5 */ |
Definition at line 234 of file scsicmds.h.
#define DISCONNECT_RECONNECT_PAGE 0x02 |
Definition at line 274 of file scsicmds.h.
#define DXFER_FROM_DEVICE 1 |
Definition at line 109 of file scsicmds.h.
#define DXFER_NONE 0 |
Definition at line 108 of file scsicmds.h.
#define DXFER_TO_DEVICE 2 |
Definition at line 110 of file scsicmds.h.
#define ENCLOSURE_SERVICES_MANAGEMENT_PAGE 0x14 |
Definition at line 288 of file scsicmds.h.
#define ENVIRO_LIMITS_L_SPAGE 0x2 /* 0xd,0x2 */ |
Definition at line 248 of file scsicmds.h.
#define ENVIRO_REP_L_SPAGE 0x1 /* 0xd,0x1 */ |
Definition at line 247 of file scsicmds.h.
#define FAULT_FAILURE_REPORTING_PAGE 0x1c |
Definition at line 293 of file scsicmds.h.
#define FLEXIBLE_DISK_PAGE 0x05 |
Definition at line 277 of file scsicmds.h.
#define FORMAT_DEVICE_PAGE 0x03 |
Definition at line 275 of file scsicmds.h.
#define FORMAT_STATUS_LPAGE 0x08 |
Definition at line 226 of file scsicmds.h.
#define GEN_STATS_PERF_LPAGE 0x19 |
Definition at line 239 of file scsicmds.h.
#define IE_LPAGE 0x2f |
Definition at line 241 of file scsicmds.h.
#define INFORMATIONAL_EXCEPTIONS_CONTROL_PAGE 0x1c |
Definition at line 292 of file scsicmds.h.
#define INQUIRY 0x12 |
Definition at line 55 of file scsicmds.h.
#define LAST_N_DEFERRED_LPAGE 0x0b /* or async events */ |
Definition at line 227 of file scsicmds.h.
#define LAST_N_ERROR_EVENTS_LPAGE 0x07 |
Definition at line 225 of file scsicmds.h.
#define LAST_N_INQ_DAT_L_SPAGE 0x1 /* 0xb,0x1 */ |
Definition at line 245 of file scsicmds.h.
#define LAST_N_MODE_PG_L_SPAGE 0x2 /* 0xb,0x2 */ |
Definition at line 246 of file scsicmds.h.
#define LB_PROV_LPAGE 0x0c /* SBC-3 */ |
Definition at line 228 of file scsicmds.h.
#define LOG_RESP_SELF_TEST_LEN 0x194 |
Definition at line 265 of file scsicmds.h.
#define LOG_SELECT 0x4c |
Definition at line 37 of file scsicmds.h.
#define LOG_SENSE 0x4d |
Definition at line 40 of file scsicmds.h.
#define LOGPAGEHDRSIZE 4 |
Definition at line 385 of file scsicmds.h.
#define LPS_MISALIGN_L_SPAGE 0x3 /* 0x15,0x3 */ |
Definition at line 253 of file scsicmds.h.
#define MAINTENANCE_IN_12 0xa3 |
Definition at line 94 of file scsicmds.h.
#define MEDIUM_TYPES_SUPPORTED_PAGE 0x0b |
Definition at line 283 of file scsicmds.h.
#define MI_REP_SUP_OPCODES 0xc /* maintenance in (12) */ |
Definition at line 97 of file scsicmds.h.
#define MODE_SELECT_10 0x55 |
Definition at line 52 of file scsicmds.h.
#define MODE_SELECT_6 0x15 |
Definition at line 49 of file scsicmds.h.
#define MODE_SENSE_10 0x5a |
Definition at line 46 of file scsicmds.h.
#define MODE_SENSE_6 0x1a |
Definition at line 43 of file scsicmds.h.
#define MPAGE_CONTROL_CHANGEABLE 1 |
Definition at line 302 of file scsicmds.h.
#define MPAGE_CONTROL_CURRENT 0 |
Definition at line 301 of file scsicmds.h.
#define MPAGE_CONTROL_DEFAULT 2 |
Definition at line 303 of file scsicmds.h.
#define MPAGE_CONTROL_SAVED 3 |
Definition at line 304 of file scsicmds.h.
#define NO_SUBPAGE_L_SPAGE 0x0 /* 0x0-0x3f,0x0 */ |
Definition at line 244 of file scsicmds.h.
#define NON_MEDIUM_ERROR_LPAGE 0x06 |
Definition at line 224 of file scsicmds.h.
#define NONVOL_CACHE_LPAGE 0x17 /* SBC-3 */ |
Definition at line 237 of file scsicmds.h.
#define NOTCH_PAGE 0x0c |
Definition at line 284 of file scsicmds.h.
#define PEND_DEFECTS_L_SPAGE 0x1 /* 0x15,0x1 */ |
Definition at line 251 of file scsicmds.h.
#define PERIPHERAL_DEVICE_PAGE 0x09 |
Definition at line 280 of file scsicmds.h.
#define POWER_COND_TRANS_LPAGE 0x1a |
Definition at line 240 of file scsicmds.h.
#define POWER_CONDITION_PAGE 0x1a |
Definition at line 291 of file scsicmds.h.
#define PROTOCOL_SPECIFIC_LPAGE 0x18 |
Definition at line 238 of file scsicmds.h.
#define PROTOCOL_SPECIFIC_LUN_PAGE 0x18 |
Definition at line 289 of file scsicmds.h.
#define PROTOCOL_SPECIFIC_PORT_PAGE 0x19 |
Definition at line 290 of file scsicmds.h.
#define READ_CAPACITY_10 0x25 |
Definition at line 79 of file scsicmds.h.
#define READ_DEFECT_10 0x37 |
Definition at line 67 of file scsicmds.h.
#define READ_DEFECT_12 0xb7 |
Definition at line 70 of file scsicmds.h.
#define READ_ERROR_COUNTER_LPAGE 0x03 |
Definition at line 221 of file scsicmds.h.
#define READ_REVERSE_ERROR_COUNTER_LPAGE 0x04 |
Definition at line 222 of file scsicmds.h.
#define READ_WRITE_ERROR_RECOVERY_PAGE 0x01 |
Definition at line 273 of file scsicmds.h.
#define RECEIVE_DIAGNOSTIC 0x1c |
Definition at line 61 of file scsicmds.h.
#define REPORT_LUNS 0xa0 |
Definition at line 76 of file scsicmds.h.
#define REQUEST_SENSE 0x03 |
Definition at line 58 of file scsicmds.h.
#define RIGID_DISK_DRIVE_GEOMETRY_PAGE 0x04 |
Definition at line 276 of file scsicmds.h.
#define SAI_GET_PHY_ELEM_STATUS 0x17 |
Definition at line 88 of file scsicmds.h.
#define SAI_READ_CAPACITY_16 0x10 |
Definition at line 85 of file scsicmds.h.
#define SAI_REPORT_SUPPORTED_OPCODES 0xc |
Definition at line 91 of file scsicmds.h.
#define SAT_ATA_PASSTHROUGH_12 0xa1 |
Definition at line 101 of file scsicmds.h.
#define SAT_ATA_PASSTHROUGH_16 0x85 |
Definition at line 104 of file scsicmds.h.
#define SCSI_ASC_IMPENDING_FAILURE 0x5d |
Definition at line 342 of file scsicmds.h.
#define SCSI_ASC_INVALID_FIELD 0x24 |
Definition at line 339 of file scsicmds.h.
#define SCSI_ASC_NO_MEDIUM 0x3a /* more info in ASCQ code */ |
Definition at line 337 of file scsicmds.h.
#define SCSI_ASC_NOT_READY 0x4 /* more info in ASCQ code */ |
Definition at line 336 of file scsicmds.h.
#define SCSI_ASC_UNKNOWN_OPCODE 0x20 |
Definition at line 338 of file scsicmds.h.
#define SCSI_ASC_UNKNOWN_PARAM 0x26 |
Definition at line 340 of file scsicmds.h.
#define SCSI_ASC_WARNING 0xb |
Definition at line 341 of file scsicmds.h.
#define SCSI_ASCQ_ATA_PASS_THROUGH 0x1d |
Definition at line 344 of file scsicmds.h.
#define SCSI_DIAG_ABORT_SELF_TEST 0x04 |
Definition at line 370 of file scsicmds.h.
#define SCSI_DIAG_BG_EXTENDED_SELF_TEST 0x02 |
Definition at line 367 of file scsicmds.h.
#define SCSI_DIAG_BG_SHORT_SELF_TEST 0x01 |
Definition at line 366 of file scsicmds.h.
#define SCSI_DIAG_DEF_SELF_TEST 0xff |
Definition at line 365 of file scsicmds.h.
#define SCSI_DIAG_FG_EXTENDED_SELF_TEST 0x06 |
Definition at line 369 of file scsicmds.h.
#define SCSI_DIAG_FG_SHORT_SELF_TEST 0x05 |
Definition at line 368 of file scsicmds.h.
#define SCSI_DIAG_NO_SELF_TEST 0x00 |
Definition at line 364 of file scsicmds.h.
#define SCSI_IECMP_RAW_LEN 64 |
Definition at line 143 of file scsicmds.h.
#define SCSI_POW_COND_ACTIVE 0x1 |
Definition at line 373 of file scsicmds.h.
#define SCSI_POW_COND_IDLE 0x2 |
Definition at line 374 of file scsicmds.h.
#define SCSI_POW_COND_STANDBY 0x3 |
Definition at line 375 of file scsicmds.h.
#define SCSI_PT_CDROM 0x5 |
Definition at line 194 of file scsicmds.h.
#define SCSI_PT_DIRECT_ACCESS 0x0 |
Definition at line 191 of file scsicmds.h.
#define SCSI_PT_ENCLOSURE 0xd |
Definition at line 197 of file scsicmds.h.
#define SCSI_PT_HOST_MANAGED 0x14 /* Zoned disk */ |
Definition at line 199 of file scsicmds.h.
#define SCSI_PT_MEDIUM_CHANGER 0x8 |
Definition at line 196 of file scsicmds.h.
#define SCSI_PT_OPTICAL 0x7 |
Definition at line 195 of file scsicmds.h.
#define SCSI_PT_RBC 0xe |
Definition at line 198 of file scsicmds.h.
#define SCSI_PT_SEQUENTIAL_ACCESS 0x1 |
Definition at line 192 of file scsicmds.h.
#define SCSI_PT_WO 0x4 /* write once device */ |
Definition at line 193 of file scsicmds.h.
#define SCSI_SK_ABORTED_COMMAND 0xb |
Definition at line 331 of file scsicmds.h.
#define SCSI_SK_COMPLETED 0xf |
Definition at line 333 of file scsicmds.h.
#define SCSI_SK_DATA_PROTECT 0x7 |
Definition at line 330 of file scsicmds.h.
#define SCSI_SK_HARDWARE_ERROR 0x4 |
Definition at line 327 of file scsicmds.h.
#define SCSI_SK_ILLEGAL_REQUEST 0x5 |
Definition at line 328 of file scsicmds.h.
#define SCSI_SK_MEDIUM_ERROR 0x3 |
Definition at line 326 of file scsicmds.h.
#define SCSI_SK_MISCOMPARE 0xe |
Definition at line 332 of file scsicmds.h.
#define SCSI_SK_NO_SENSE 0x0 |
Definition at line 323 of file scsicmds.h.
#define SCSI_SK_NOT_READY 0x2 |
Definition at line 325 of file scsicmds.h.
#define SCSI_SK_RECOVERED_ERR 0x1 |
Definition at line 324 of file scsicmds.h.
#define SCSI_SK_UNIT_ATTENTION 0x6 |
Definition at line 329 of file scsicmds.h.
#define SCSI_STATUS_CHECK_CONDITION 0x2 |
Definition at line 320 of file scsicmds.h.
#define SCSI_TIMEOUT_DEFAULT 60 |
Definition at line 379 of file scsicmds.h.
#define SCSI_TIMEOUT_SELF_TEST (5 * 60 * 60) /* allow max 5 hours for */ |
Definition at line 382 of file scsicmds.h.
#define SCSI_TPROTO_1394 3 |
Definition at line 205 of file scsicmds.h.
#define SCSI_TPROTO_ADT 7 |
Definition at line 209 of file scsicmds.h.
#define SCSI_TPROTO_ATA 8 |
Definition at line 210 of file scsicmds.h.
#define SCSI_TPROTO_FCP 0 |
Definition at line 202 of file scsicmds.h.
#define SCSI_TPROTO_ISCSI 5 |
Definition at line 207 of file scsicmds.h.
#define SCSI_TPROTO_NONE 0xf |
Definition at line 214 of file scsicmds.h.
#define SCSI_TPROTO_PCIE 0xb /* includes NVMe */ |
Definition at line 213 of file scsicmds.h.
#define SCSI_TPROTO_SAS 6 |
Definition at line 208 of file scsicmds.h.
#define SCSI_TPROTO_SOP 0xa /* SCSI over PCIe */ |
Definition at line 212 of file scsicmds.h.
#define SCSI_TPROTO_SPI 1 |
Definition at line 203 of file scsicmds.h.
#define SCSI_TPROTO_SRP 4 /* SCSI over RDMA */ |
Definition at line 206 of file scsicmds.h.
#define SCSI_TPROTO_SSA 2 |
Definition at line 204 of file scsicmds.h.
#define SCSI_TPROTO_UAS 9 /* USB attached SCSI */ |
Definition at line 211 of file scsicmds.h.
#define SCSI_VPD_ATA_INFORMATION 0x89 |
Definition at line 311 of file scsicmds.h.
#define SCSI_VPD_BLOCK_DEVICE_CHARACTERISTICS 0xb1 |
Definition at line 315 of file scsicmds.h.
#define SCSI_VPD_BLOCK_LIMITS 0xb0 |
Definition at line 314 of file scsicmds.h.
#define SCSI_VPD_DEVICE_IDENTIFICATION 0x83 |
Definition at line 309 of file scsicmds.h.
#define SCSI_VPD_EXTENDED_INQUIRY_DATA 0x86 |
Definition at line 310 of file scsicmds.h.
#define SCSI_VPD_LOGICAL_BLOCK_PROVISIONING 0xb2 |
Definition at line 316 of file scsicmds.h.
#define SCSI_VPD_POWER_CONDITION 0x8a |
Definition at line 312 of file scsicmds.h.
#define SCSI_VPD_POWER_CONSUMPTION 0x8d |
Definition at line 313 of file scsicmds.h.
#define SCSI_VPD_SUPPORTED_VPD_PAGES 0x0 |
Definition at line 307 of file scsicmds.h.
#define SCSI_VPD_UNIT_SERIAL_NUMBER 0x80 |
Definition at line 308 of file scsicmds.h.
#define SCSI_VPD_ZONED_BLOCK_DEV_CHAR 0xb6 |
Definition at line 317 of file scsicmds.h.
#define SCSICMDS_H_CVSID "$Id: scsicmds.h 5462 2023-03-13 10:45:06Z chrfranke $\n" |
Definition at line 22 of file scsicmds.h.
#define SEAGATE_CACHE_LPAGE 0x37 |
Definition at line 257 of file scsicmds.h.
#define SEAGATE_FACTORY_LPAGE 0x3e |
Definition at line 259 of file scsicmds.h.
#define SEAGATE_FARM_CURRENT_L_SPAGE 0x3 /* 0x3d,0x3 */ |
Definition at line 262 of file scsicmds.h.
#define SEAGATE_FARM_LPAGE 0x3d |
Definition at line 258 of file scsicmds.h.
#define SELFTEST_RESULTS_LPAGE 0x10 |
Definition at line 232 of file scsicmds.h.
#define SEND_DIAGNOSTIC 0x1d |
Definition at line 64 of file scsicmds.h.
#define SERVICE_ACTION_IN_16 0x9e |
Definition at line 82 of file scsicmds.h.
#define SIMPLE_ERR_ABORTED_COMMAND 11 /* probably transport error */ |
Definition at line 358 of file scsicmds.h.
#define SIMPLE_ERR_BAD_FIELD 3 /* in cbd */ |
Definition at line 350 of file scsicmds.h.
#define SIMPLE_ERR_BAD_OPCODE 2 |
Definition at line 349 of file scsicmds.h.
#define SIMPLE_ERR_BAD_PARAM 4 /* in data */ |
Definition at line 351 of file scsicmds.h.
#define SIMPLE_ERR_BAD_RESP 5 /* response fails sanity */ |
Definition at line 352 of file scsicmds.h.
#define SIMPLE_ERR_BECOMING_READY 7 /* device will be ready soon */ |
Definition at line 354 of file scsicmds.h.
#define SIMPLE_ERR_MEDIUM_HARDWARE 9 /* medium or hardware error */ |
Definition at line 356 of file scsicmds.h.
#define SIMPLE_ERR_MISCOMPARE 13 /* from VERIFY commands */ |
Definition at line 360 of file scsicmds.h.
#define SIMPLE_ERR_NO_MEDIUM 6 /* no medium present */ |
Definition at line 353 of file scsicmds.h.
#define SIMPLE_ERR_NOT_READY 1 |
Definition at line 348 of file scsicmds.h.
#define SIMPLE_ERR_PROTECTION 12 /* data protect sense key */ |
Definition at line 359 of file scsicmds.h.
#define SIMPLE_ERR_TRY_AGAIN 8 /* some warning, try again */ |
Definition at line 355 of file scsicmds.h.
#define SIMPLE_ERR_UNKNOWN 10 /* unknown sense value */ |
Definition at line 357 of file scsicmds.h.
#define SIMPLE_NO_ERROR 0 |
Definition at line 347 of file scsicmds.h.
#define SS_MEDIA_LPAGE 0x11 /* SBC-3 */ |
Definition at line 233 of file scsicmds.h.
#define START_STOP_UNIT 0x1b |
Definition at line 73 of file scsicmds.h.
#define STARTSTOP_CYCLE_COUNTER_LPAGE 0x0e |
Definition at line 230 of file scsicmds.h.
#define SUPP_SPAGE_L_SPAGE 0xff /* 0x0,0xff pages+subpages */ |
Definition at line 254 of file scsicmds.h.
#define SUPPORTED_LPAGES 0x00 |
Definition at line 218 of file scsicmds.h.
#define TAPE_ALERTS_LPAGE 0x2e |
Definition at line 269 of file scsicmds.h.
#define TEMPERATURE_LPAGE 0x0d |
Definition at line 229 of file scsicmds.h.
#define TEST_UNIT_READY 0x0 |
Definition at line 34 of file scsicmds.h.
#define UTILIZATION_L_SPAGE 0x1 /* 0xe,0x1 */ |
Definition at line 249 of file scsicmds.h.
#define VENDOR_UNIQUE_PAGE 0x00 |
Definition at line 272 of file scsicmds.h.
#define VERIFY_ERROR_COUNTER_LPAGE 0x05 |
Definition at line 223 of file scsicmds.h.
#define VERIFY_ERROR_RECOVERY_PAGE 0x07 |
Definition at line 278 of file scsicmds.h.
#define WRITE_ERROR_COUNTER_LPAGE 0x02 |
Definition at line 220 of file scsicmds.h.
#define XOR_CONTROL_MODE_PAGE 0x10 |
Definition at line 281 of file scsicmds.h.
#define ZB_DEV_STATS_L_SPAGE 0x1 /* 0x14,0x1 */ |
Definition at line 250 of file scsicmds.h.
void dStrHex | ( | const uint8_t * | up, |
int | len, | ||
int | no_ascii | ||
) |
Definition at line 368 of file scsicmds.cpp.
void dStrHexFp | ( | const uint8_t * | up, |
int | len, | ||
int | no_ascii, | ||
FILE * | fp | ||
) |
Definition at line 344 of file scsicmds.cpp.
bool is_scsi_cdb | ( | const uint8_t * | cdbp, |
int | clen | ||
) |
Definition at line 391 of file scsicmds.cpp.
int scsi_decode_lu_dev_id | ( | const unsigned char * | b, |
int | blen, | ||
char * | s, | ||
int | slen, | ||
int * | transport | ||
) |
Definition at line 747 of file scsicmds.cpp.
void scsi_do_sense_disect | ( | const struct scsi_cmnd_io * | in, |
struct scsi_sense_disect * | out | ||
) |
Definition at line 565 of file scsicmds.cpp.
void scsi_format_id_string | ( | char * | out, |
const uint8_t * | in, | ||
int | n | ||
) |
Definition at line 3117 of file scsicmds.cpp.
const char * scsi_get_opcode_name | ( | const uint8_t * | cdbp | ) |
Definition at line 511 of file scsicmds.cpp.
char * scsi_get_sense_key_str | ( | int | sense_key, |
int | buff_len, | ||
char * | buff | ||
) |
Definition at line 695 of file scsicmds.cpp.
int scsi_IsExceptionControlEnabled | ( | const struct scsi_iec_mode_page * | iecp | ) |
Definition at line 1885 of file scsicmds.cpp.
int scsi_IsWarningEnabled | ( | const struct scsi_iec_mode_page * | iecp | ) |
Definition at line 1899 of file scsicmds.cpp.
bool scsi_pass_through_yield_sense | ( | scsi_device * | device, |
scsi_cmnd_io * | iop, | ||
struct scsi_sense_disect & | sinfo | ||
) |
Definition at line 1543 of file scsicmds.cpp.
int scsi_vpd_dev_id_iter | ( | const unsigned char * | initial_desig_desc, |
int | page_len, | ||
int * | off, | ||
int | m_assoc, | ||
int | m_desig_type, | ||
int | m_code_set | ||
) |
Definition at line 718 of file scsicmds.cpp.
int scsiCheckIE | ( | scsi_device * | device, |
int | hasIELogPage, | ||
int | hasTempLogPage, | ||
uint8_t * | asc, | ||
uint8_t * | ascq, | ||
uint8_t * | currenttemp, | ||
uint8_t * | triptemp | ||
) |
Definition at line 2028 of file scsicmds.cpp.
int scsiCountFailedSelfTests | ( | scsi_device * | device, |
int | noisy | ||
) |
Definition at line 2722 of file scsicmds.cpp.
void scsiDecodeErrCounterPage | ( | unsigned char * | resp, |
struct scsiErrorCounter * | ecp, | ||
int | allocLen | ||
) |
Definition at line 2609 of file scsicmds.cpp.
void scsiDecodeNonMediumErrPage | ( | unsigned char * | resp, |
struct scsiNonMediumError * | nmep, | ||
int | allocLen | ||
) |
Definition at line 2654 of file scsicmds.cpp.
const char * scsiErrString | ( | int | scsiErr | ) |
Definition at line 630 of file scsicmds.cpp.
int scsiFetchControlGLTSD | ( | scsi_device * | device, |
int | modese_len, | ||
int | current | ||
) |
Definition at line 2801 of file scsicmds.cpp.
int scsiFetchExtendedSelfTestTime | ( | scsi_device * | device, |
int * | durationSec, | ||
int | modese_len | ||
) |
Definition at line 2557 of file scsicmds.cpp.
int scsiFetchIECmpage | ( | scsi_device * | device, |
struct scsi_iec_mode_page * | iecp, | ||
int | modese_len | ||
) |
Definition at line 1838 of file scsicmds.cpp.
int scsiFetchTransportProtocol | ( | scsi_device * | device, |
int | modese_len | ||
) |
Definition at line 3057 of file scsicmds.cpp.
char * scsiGetIEString | ( | uint8_t | asc, |
uint8_t | ascq, | ||
char * | b, | ||
int | blen | ||
) |
Definition at line 3198 of file scsicmds.cpp.
int scsiGetRPM | ( | scsi_device * | device, |
int | modese_len, | ||
int * | form_factorp, | ||
int * | haw_zbcp | ||
) |
Definition at line 2838 of file scsicmds.cpp.
int scsiGetSetCache | ( | scsi_device * | device, |
int | modese_len, | ||
short int * | wce, | ||
short int * | rcd | ||
) |
Definition at line 2883 of file scsicmds.cpp.
uint64_t scsiGetSize | ( | scsi_device * | device, |
bool | avoid_rcap16, | ||
struct scsi_readcap_resp * | srrp | ||
) |
Definition at line 1713 of file scsicmds.cpp.
int scsiGetTemp | ( | scsi_device * | device, |
uint8_t * | currenttemp, | ||
uint8_t * | triptemp | ||
) |
Definition at line 2000 of file scsicmds.cpp.
int scsiInquiryVpd | ( | scsi_device * | device, |
int | vpd_page, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1210 of file scsicmds.cpp.
int scsiLogSelect | ( | scsi_device * | device, |
int | pcr, | ||
int | sp, | ||
int | pc, | ||
int | pagenum, | ||
int | subpagenum, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 962 of file scsicmds.cpp.
int scsiLogSense | ( | scsi_device * | device, |
int | pagenum, | ||
int | subpagenum, | ||
uint8_t * | pBuf, | ||
int | bufLen, | ||
int | known_resp_len | ||
) |
Definition at line 873 of file scsicmds.cpp.
int scsiModePageOffset | ( | const uint8_t * | resp, |
int | len, | ||
int | modese_len | ||
) |
Definition at line 1795 of file scsicmds.cpp.
int scsiModeSelect | ( | scsi_device * | device, |
int | sp, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1040 of file scsicmds.cpp.
int scsiModeSelect10 | ( | scsi_device * | device, |
int | sp, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1123 of file scsicmds.cpp.
int scsiModeSense | ( | scsi_device * | device, |
int | pagenum, | ||
int | subpagenum, | ||
int | pc, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 994 of file scsicmds.cpp.
int scsiModeSense10 | ( | scsi_device * | device, |
int | pagenum, | ||
int | subpagenum, | ||
int | pc, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1079 of file scsicmds.cpp.
int scsiReadCapacity10 | ( | scsi_device * | device, |
unsigned int * | last_lbp, | ||
unsigned int * | lb_sizep | ||
) |
Definition at line 1609 of file scsicmds.cpp.
int scsiReadCapacity16 | ( | scsi_device * | device, |
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1645 of file scsicmds.cpp.
int scsiReadDefect10 | ( | scsi_device * | device, |
int | req_plist, | ||
int | req_glist, | ||
int | dl_format, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1472 of file scsicmds.cpp.
int scsiReadDefect12 | ( | scsi_device * | device, |
int | req_plist, | ||
int | req_glist, | ||
int | dl_format, | ||
int | addrDescIndex, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1506 of file scsicmds.cpp.
int scsiRequestSense | ( | scsi_device * | device, |
struct scsi_sense_disect * | sense_info | ||
) |
Definition at line 1268 of file scsicmds.cpp.
int scsiRSOCcmd | ( | scsi_device * | device, |
bool | rctd, | ||
uint8_t | rep_opt, | ||
uint8_t | opcode, | ||
uint16_t | serv_act, | ||
uint8_t * | pBuf, | ||
int | bufLen, | ||
int & | rspLen | ||
) |
Definition at line 1672 of file scsicmds.cpp.
int scsiSelfTestInProgress | ( | scsi_device * | device, |
int * | inProgress | ||
) |
Definition at line 2773 of file scsicmds.cpp.
int scsiSendDiagnostic | ( | scsi_device * | device, |
int | functioncode, | ||
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1392 of file scsicmds.cpp.
int scsiSetControlGLTSD | ( | scsi_device * | device, |
int | enabled, | ||
int | modese_len | ||
) |
Definition at line 2987 of file scsicmds.cpp.
int scsiSetExceptionControlAndWarning | ( | scsi_device * | device, |
int | enabled, | ||
const struct scsi_iec_mode_page * | iecp | ||
) |
Definition at line 1928 of file scsicmds.cpp.
int scsiSetPowerCondition | ( | scsi_device * | device, |
int | power_cond, | ||
int | pcond_modifier = 0 |
||
) |
Definition at line 1361 of file scsicmds.cpp.
int scsiSimpleSenseFilter | ( | const struct scsi_sense_disect * | sinfo | ) |
Definition at line 587 of file scsicmds.cpp.
int scsiSmartDefaultSelfTest | ( | scsi_device * | device | ) |
Definition at line 2487 of file scsicmds.cpp.
int scsiSmartExtendCapSelfTest | ( | scsi_device * | device | ) |
Definition at line 2532 of file scsicmds.cpp.
int scsiSmartExtendSelfTest | ( | scsi_device * | device | ) |
Definition at line 2509 of file scsicmds.cpp.
int scsiSmartSelfTestAbort | ( | scsi_device * | device | ) |
Definition at line 2544 of file scsicmds.cpp.
int scsiSmartShortCapSelfTest | ( | scsi_device * | device | ) |
Definition at line 2521 of file scsicmds.cpp.
int scsiSmartShortSelfTest | ( | scsi_device * | device | ) |
Definition at line 2498 of file scsicmds.cpp.
int scsiStdInquiry | ( | scsi_device * | device, |
uint8_t * | pBuf, | ||
int | bufLen | ||
) |
Definition at line 1163 of file scsicmds.cpp.
const char * scsiTapeAlertsChangerDevice | ( | unsigned short | code | ) |
Definition at line 2477 of file scsicmds.cpp.
const char * scsiTapeAlertsTapeDevice | ( | unsigned short | code | ) |
Definition at line 2329 of file scsicmds.cpp.
int scsiTestUnitReady | ( | scsi_device * | device | ) |
Definition at line 1456 of file scsicmds.cpp.
const unsigned char * sg_scsi_sense_desc_find | ( | const unsigned char * | sensep, |
int | sense_len, | ||
int | desc_type | ||
) |
Definition at line 3090 of file scsicmds.cpp.
|
extern |
Definition at line 45 of file scsicmds.cpp.
|
extern |
Definition at line 47 of file scsicmds.cpp.