scsi_extended_sense(9S)




NAME

     scsi_extended_sense - SCSI extended sense structure


SYNOPSIS

     #include <sys/scsi/scsi.h>


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 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  scsi_device(9S) struc-
     ture.


STRUCTURE MEMBERS

     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 */

     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 a
     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
                information to be reported.

          KEY_RECOVERABLE_ERROR
                Indicates that the last  command  completed  suc-
                cessfully  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.

          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  sequen-
                tial  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 VER-
                IFY  command was aborted.

          KEY_ABORTED_COMMAND
                Indicates that the target aborted the command.

          KEY_EQUAL
                Indicates that a  SEARCH DATA command has  satis-
                fied an equal comparison.

          KEY_VOLUME_OVERFLOW
                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.

          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)

     ANSI Small Computer System Interface-2 (SCSI-2)

     Writing Device Drivers


Man(1) output converted with man2html