| Current File : //usr/man/man9s/scsi_extended_sense.9s |
'\" te
.\" Copyright (c) 2000, Sun Microsystems, Inc. , All Rights Reserved
.TH scsi_extended_sense 9S "30 Aug 1995" "SunOS 5.11" "Data Structures for Drivers"
.SH NAME
scsi_extended_sense \- SCSI extended sense structure
.SH SYNOPSIS
.LP
.nf
#include <sys/scsi/scsi.h>
.fi
.SH INTERFACE LEVEL
.sp
.LP
Solaris DDI specific (Solaris DDI).
.SH DESCRIPTION
.sp
.LP
The \fBscsi_extended_sense\fR structure for error codes \fB0x70\fR (current errors) and \fB0x71\fR (deferred errors) is returned on a successful \fBREQUEST SENSE\fR command. \fBSCSI-2 \fRcompliant targets are required to return at least the first 18 bytes of this structure. This structure is part of \fBscsi_device\fR(9S) structure.
.SH STRUCTURE MEMBERS
.sp
.in +2
.nf
uchar_t es_valid :1; /* Sense data is valid */
uchar_t es_class :3; /* Error Class- fixed at 0x7 */
uchar_t es_code :4; /* Vendor Unique error code */
uchar_t es_segnum; /* Segment number: for COPY cmd only */
uchar_t es_filmk :1; /* File Mark Detected */
uchar_t es_eom :1; /* End of Media */
uchar_t es_ili :1; /* Incorrect Length Indicator */
uchar_t es_key :4; /* Sense key */
uchar_t es_info_1; /* Information byte 1 */
uchar_t es_info_2; /* Information byte 2 */
uchar_t es_info_3; /* Information byte 3 */
uchar_t es_info_4; /* Information byte 4 */
uchar_t es_add_len; /* Number of additional bytes */
uchar_t es_cmd_info[4]; /* Command specific information */
uchar_t es_add_code; /* Additional Sense Code */
uchar_t es_qual_code; /* Additional Sense Code Qualifier */
uchar_t es_fru_code; /* Field Replaceable Unit Code */
uchar_t es_skey_specific[3]; /* Sense Key Specific information */
.fi
.in -2
.sp
.LP
\fBes_valid\fR, if set, indicates that the information field contains valid information.
.sp
.LP
\fBes_class\fR should be \fB0x7\fR.
.sp
.LP
\fBes_code\fR is either \fB0x0\fR or \fB0x1\fR.
.sp
.LP
\fBes_segnum\fR contains the number of the current segment descriptor if the \fBREQUEST SENSE \fRcommand is in response to a \fBCOPY\fR, \fBCOMPARE\fR, and \fBCOPY AND VERIFY\fR command.
.sp
.LP
\fBes_filmk\fR, if set, indicates that the current command had read a file mark or set mark (sequential access devices only).
.sp
.LP
\fBes_eom\fR, if set, indicates that an end-of-medium condition exists (sequential access and printer devices only).
.sp
.LP
\fBes_ili\fR, if set, indicates that the requested logical block length did not match the logical block length of the data on the medium.
.sp
.LP
\fBes_key\fR indicates generic information describing an error or exception condition. The following sense keys are defined:
.sp
.ne 2
.mk
.na
\fB\fBKEY_NO_SENSE\fR \fR
.ad
.sp .6
.RS 4n
Indicates that there is no specific sense key information to be reported.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_RECOVERABLE_ERROR\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the last command completed successfully with some recovery action performed by the target.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_NOT_READY\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the logical unit addressed cannot be accessed.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_MEDIUM_ERROR\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the command terminated with a non-recovered error condition that was probably caused by a flaw on the medium or an error in the recorded data.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_HARDWARE_ERROR\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the target detected a non-recoverable hardware failure while performing the command or during a self test.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_ILLEGAL_REQUEST\fR \fR
.ad
.sp .6
.RS 4n
Indicates that there was an illegal parameter in the \fBCDB\fR or in the additional parameters supplied as data for some commands.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_UNIT_ATTENTION\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the removable medium might have been changed or the target has been reset.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_WRITE_PROTECT/KEY_DATA_PROTECT\fR \fR
.ad
.sp .6
.RS 4n
Indicates that a command that reads or writes the medium was attempted on a block that is protected from this operation.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_BLANK_CHECK\fR \fR
.ad
.sp .6
.RS 4n
Indicates that a write-once device or a sequential access device encountered blank medium or format-defined end-of-data indication while reading or a write-once device encountered a non-blank medium while writing.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_VENDOR_UNIQUE\fR \fR
.ad
.sp .6
.RS 4n
This sense key is available for reporting vendor-specific conditions.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_COPY_ABORTED\fR \fR
.ad
.sp .6
.RS 4n
Indicates that a \fBCOPY\fR, \fBCOMPARE\fR, and \fBCOPY AND VERIFY\fR command was aborted.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_ABORTED_COMMAND\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the target aborted the command.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_EQUAL\fR \fR
.ad
.sp .6
.RS 4n
Indicates that a \fBSEARCH\fR \fBDATA\fR command has satisfied an equal comparison.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_VOLUME_OVERFLOW\fR \fR
.ad
.sp .6
.RS 4n
Indicates that a buffered peripheral device has reached the end-of-partition and data might remain in the buffer that has not been written to the medium.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_MISCOMPARE\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the source data did not match the data read from the medium.
.RE
.sp
.ne 2
.mk
.na
\fB\fBKEY_RESERVE\fR \fR
.ad
.sp .6
.RS 4n
Indicates that the target is currently reserved by a different initiator.
.RE
.sp
.LP
\fBes_info_{1,2,3,4}\fR is device-type or command specific.
.sp
.LP
\fBes_add_len\fR indicates the number of additional sense bytes to follow.
.sp
.LP
\fBes_cmd_info\fR contains information that depends on the command that was executed.
.sp
.LP
\fBes_add_code\fR (\fBASC\fR) indicates further information related to the error or exception condition reported in the sense key field.
.sp
.LP
\fBes_qual_code\fR (\fBASCQ)\fR indicates detailed information related to the additional sense code.
.sp
.LP
\fBes_fru_code\fR (\fBFRU\fR) indicates a device-specific mechanism to unit that has failed.
.sp
.LP
\fBes_skey_specific\fR is defined when the value of the sense-key specific valid bit (bit 7) is \fB1\fR. This field is reserved for sense keys not defined above.
.SH SEE ALSO
.sp
.LP
\fBscsi_device\fR(9S)
.sp
.LP
\fIANSI Small Computer System Interface-2 (SCSI-2)\fR
.sp
.LP
\fIWriting Device Drivers for Oracle Solaris 11.2\fR