Data Structures for Drivers scsiextendedsense(9S)
NAME
scsiextendedsense - SCSI extended sense structure
SYNOPSIS
#include
INTERFACE LEVEL
Solaris DI specific (Solaris DI).
DESCRIPTION
The scsiextendedsense structure for error codes 0x70
(current errors) and 0x71 (deferred errors) is returned on a
successful REQUEST SENSE command. SCSI-2 compliant targets
are required to return at least the first 18 bytes of this
structure. This structure is part of scsidevice(9S) struc-
ture.
STRUCTURE MEMBERS
uchart esvalid :1; /* Sense data is valid */
uchart esclass :3; /* Error Class- fixed at 0x7 */
uchart escode :4; /* Vendor Unique error code */
uchart essegnum; /* Segment number: for COPY cmd only */
uchart esfilmk :1; /* File Mark Detected */
uchart eseom :1; /* End of Media */
uchart esili :1; /* Incorrect Length Indicator */
uchart eskey :4; /* Sense key */
uchart esinfo1; /* Information byte 1 */
uchart esinfo2; /* Information byte 2 */
uchart esinfo3; /* Information byte 3 */
uchart esinfo4; /* Information byte 4 */
uchart esaddlen; /* Number of additional bytes */
uchart escmdinfo[4]; /* Command specific information */
uchart esaddcode; /* Additional Sense Code */
uchart esqualcode; /* Additional Sense Code Qualifier */
uchart esfrucode; /* Field Replaceable Unit Code */
uchart esskeyspecific[3]; /* Sense Key Specific information */
esvalid, if set, indicates that the information field con-
tains valid information.
esclass should be 0x7.
escode is either 0x0 or 0x1.
essegnum contains the number of the current segment
descriptor if the REQUEST SENSE command is in response to a
SunOS 5.11 Last change: 30 Aug 1995 1
Data Structures for Drivers scsiextendedsense(9S)
COPY, COMPARE, and COPY AND VERIFY command.
esfilmk, if set, indicates that the current command had
read a file mark or set mark (sequential access devices
only).
eseom, if set, indicates that an end-of-medium condition
exists (sequential access and printer devices only).
esili, if set, indicates that the requested logical block
length did not match the logical block length of the data on
the medium.
eskey indicates generic information describing an error or
exception condition. The following sense keys are defined:
KEYNOSENSE
Indicates that there is no specific sense key informa-
tion to be reported.
KEYRECOVERABLEROR
Indicates that the last command completed successfully
with some recovery action performed by the target.
KEYNOTREADY
Indicates that the logical unit addressed cannot be
accessed.
KEYMEDIUMEROR
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.
KEYHARDWAREROR
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 scsiextendedsense(9S)
KEYILEGALREQUEST
Indicates that there was an illegal parameter in the CDB
or in the additional parameters supplied as data for
some commands.
KEYUNITATENTION
Indicates that the removable medium might have been
changed or the target has been reset.
KEYWRITEPROTECT/KEYDATAPROTECT
Indicates that a command that reads or writes the medium
was attempted on a block that is protected from this
operation.
KEYBLANKCHECK
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.
KEYVENDORUNIQUE
This sense key is available for reporting vendor-
specific conditions.
KEYCOPYABORTED
Indicates that a COPY, COMPARE, and COPY AND VERIFY
command was aborted.
KEYABORTEDCOMAND
Indicates that the target aborted the command.
KEYEQUAL
Indicates that a SEARCH DATA command has satisfied an
equal comparison.
SunOS 5.11 Last change: 30 Aug 1995 3
Data Structures for Drivers scsiextendedsense(9S)
KEYVOLUMEOVERFLOW
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.
KEYMISCOMPARE
Indicates that the source data did not match the data
read from the medium.
KEYRESERVE
Indicates that the target is currently reserved by a
different initiator.
esinfo{1,2,3,4} is device-type or command specific.
esaddlen indicates the number of additional sense bytes to
follow.
escmdinfo contains information that depends on the command
that was executed.
esaddcode (ASC) indicates further information related to
the error or exception condition reported in the sense key
field.
esqualcode (ASCQ) indicates detailed information related
to the additional sense code.
esfrucode (FRU) indicates a device-specific mechanism to
unit that has failed.
esskeyspecific 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
scsidevice(9S)
SunOS 5.11 Last change: 30 Aug 1995 4
Data Structures for Drivers scsiextendedsense(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
Writing Device Drivers
SunOS 5.11 Last change: 30 Aug 1995 5
|