Data Structures for Drivers scsi_extended_sense(9S)
NAME
scsi_extended_sense - SCSI extended sense structure
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).DESCRIPTION
The scsi_extended_sense structure for error codes 0x70
(current errors) and 0x71 (deferred errors) is returned on asuccessful REQUEST SENSE command. SCSI-2 compliant targets
are required to return at least the first 18 bytes of thisstructure. This structure is part of scsi_device(9S) struc-
ture. STRUCTURE MEMBERSuchar_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 */
es_valid, if set, indicates that the information field con-
tains valid information.es_class should be 0x7.
es_code is either 0x0 or 0x1.
es_segnum contains the number of the current segment
descriptor if the REQUEST SENSE command is in response to aSunOS 5.11 Last change: 30 Aug 1995 1
Data Structures for Drivers scsi_extended_sense(9S)
COPY, COMPARE, and COPY AND VERIFY command.es_filmk, if set, indicates that the current command had
read a file mark or set mark (sequential access devices only).es_eom, if set, indicates that an end-of-medium condition
exists (sequential access and printer devices only).es_ili, if set, indicates that the requested logical block
length did not match the logical block length of the data on the medium.es_key indicates generic information describing an error or
exception condition. The following sense keys are defined:KEY_NO_SENSE
Indicates that there is no specific sense key informa-
tion to be reported.KEY_RECOVERABLE_ERROR
Indicates that the last command completed successfully with some recovery action performed by the target.KEY_NOT_READY
Indicates that the logical unit addressed cannot be accessed.KEY_MEDIUM_ERROR
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.KEY_HARDWARE_ERROR
Indicates that the target detected a non-recoverable
hardware failure while performing the command or during a self test.SunOS 5.11 Last change: 30 Aug 1995 2
Data Structures for Drivers scsi_extended_sense(9S)
KEY_ILLEGAL_REQUEST
Indicates that there was an illegal parameter in the CDB or in the additional parameters supplied as data for some commands.KEY_UNIT_ATTENTION
Indicates that the removable medium might have been changed or the target has been reset.KEY_WRITE_PROTECT/KEY_DATA_PROTECT
Indicates that a command that reads or writes the medium was attempted on a block that is protected from this operation.KEY_BLANK_CHECK
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.
KEY_VENDOR_UNIQUE
This sense key is available for reporting vendor-
specific conditions.KEY_COPY_ABORTED
Indicates that a COPY, COMPARE, and COPY AND VERIFY command was aborted.KEY_ABORTED_COMMAND
Indicates that the target aborted the command.KEY_EQUAL
Indicates that a SEARCH DATA command has satisfied an equal comparison.SunOS 5.11 Last change: 30 Aug 1995 3
Data Structures for Drivers scsi_extended_sense(9S)
KEY_VOLUME_OVERFLOW
Indicates that a buffered peripheral device has reachedthe end-of-partition and data might remain in the buffer
that has not been written to the medium.KEY_MISCOMPARE
Indicates that the source data did not match the data read from the medium.KEY_RESERVE
Indicates that the target is currently reserved by a different initiator.es_info_{1,2,3,4} is device-type or command specific.
es_add_len indicates the number of additional sense bytes to
follow.es_cmd_info contains information that depends on the command
that was executed.es_add_code (ASC) indicates further information related to
the error or exception condition reported in the sense key field.es_qual_code (ASCQ) indicates detailed information related
to the additional sense code.es_fru_code (FRU) indicates a device-specific mechanism to
unit that has failed.es_skey_specific is defined when the value of the sense-key
specific valid bit (bit 7) is 1. This field is reserved for sense keys not defined above.SEE ALSO
scsi_device(9S)
SunOS 5.11 Last change: 30 Aug 1995 4
Data Structures for Drivers scsi_extended_sense(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
Writing Device DriversSunOS 5.11 Last change: 30 Aug 1995 5