41#include <sys/libkern.h>
42#include <sys/kernel.h>
43#include <sys/sysctl.h>
72 return(
"Check Condition");
76 return(
"Intermediate");
78 return(
"Intermediate-Condition Met");
80 return(
"Reservation Conflict");
82 return(
"Command Terminated");
88 return(
"Task Aborted");
90 static char unkstr[64];
91 snprintf(unkstr,
sizeof(unkstr),
"Unknown %#x",
107 sbuf_printf(sb,
"%s. CDB: %s",
118 snprintf(path_str, len,
"(%u:%u:%u/%u): ",
133 if ((ctsio == NULL) || (sb == NULL))
139 sbuf_cat(sb, path_str);
143 sbuf_printf(sb,
"\n");
147 path_str, inq_data, ctsio->
cdb, ctsio->
cdb_len);
159 sbuf_new(&sb, str, str_len, 0);
165 return(sbuf_data(&sb));
176 sbuf_new(&sb, str,
sizeof(str), 0);
182 printf(
"%s", sbuf_data(&sb));
193 if ((ctsio == NULL) || (ofile == NULL))
196 sbuf_new(&sb, str,
sizeof(str), 0);
202 fprintf(ofile,
"%s", sbuf_data(&sb));
int ctl_scsi_command_string(struct ctl_scsiio *ctsio, struct scsi_inquiry_data *inq_data, struct sbuf *sb)
const char * ctl_scsi_status_string(struct ctl_scsiio *ctsio)
void ctl_scsi_sense_print(struct ctl_scsiio *ctsio, struct scsi_inquiry_data *inq_data)
void ctl_scsi_path_string(union ctl_io *io, char *path_str, int len)
int ctl_scsi_sense_sbuf(struct ctl_scsiio *ctsio, struct scsi_inquiry_data *inq_data, struct sbuf *sb, scsi_sense_string_flags flags)
char * ctl_scsi_sense_string(struct ctl_scsiio *ctsio, struct scsi_inquiry_data *inq_data, char *str, int str_len)
char * scsi_cdb_string(u_int8_t *cdb_ptr, char *cdb_string, size_t len)
const char * scsi_op_desc(u_int16_t opcode, struct scsi_inquiry_data *inq_data)
void scsi_sense_only_sbuf(struct scsi_sense_data *sense, u_int sense_len, struct sbuf *sb, char *path_str, struct scsi_inquiry_data *inq_data, uint8_t *cdb, int cdb_len)
#define SCSI_STATUS_CMD_TERMINATED
#define SCSI_STATUS_CHECK_COND
#define SCSI_STATUS_INTERMED
#define SCSI_STATUS_TASK_ABORTED
#define SCSI_STATUS_RESERV_CONFLICT
#define SCSI_STATUS_ACA_ACTIVE
#define SCSI_STATUS_INTERMED_COND_MET
#define SCSI_STATUS_QUEUE_FULL
struct scsi_sense_data sense_data
uint8_t cdb[CTL_MAX_CDBLEN]