linux/include/scsi/scsi_status.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2
   3#ifndef _SCSI_SCSI_STATUS_H
   4#define _SCSI_SCSI_STATUS_H
   5
   6#include <linux/types.h>
   7#include <scsi/scsi_proto.h>
   8
   9/* Message codes. */
  10enum scsi_msg_byte {
  11        COMMAND_COMPLETE        = 0x00,
  12        EXTENDED_MESSAGE        = 0x01,
  13        SAVE_POINTERS           = 0x02,
  14        RESTORE_POINTERS        = 0x03,
  15        DISCONNECT              = 0x04,
  16        INITIATOR_ERROR         = 0x05,
  17        ABORT_TASK_SET          = 0x06,
  18        MESSAGE_REJECT          = 0x07,
  19        NOP                     = 0x08,
  20        MSG_PARITY_ERROR        = 0x09,
  21        LINKED_CMD_COMPLETE     = 0x0a,
  22        LINKED_FLG_CMD_COMPLETE = 0x0b,
  23        TARGET_RESET            = 0x0c,
  24        ABORT_TASK              = 0x0d,
  25        CLEAR_TASK_SET          = 0x0e,
  26        INITIATE_RECOVERY       = 0x0f,            /* SCSI-II only */
  27        RELEASE_RECOVERY        = 0x10,            /* SCSI-II only */
  28        TERMINATE_IO_PROC       = 0x11,            /* SCSI-II only */
  29        CLEAR_ACA               = 0x16,
  30        LOGICAL_UNIT_RESET      = 0x17,
  31        SIMPLE_QUEUE_TAG        = 0x20,
  32        HEAD_OF_QUEUE_TAG       = 0x21,
  33        ORDERED_QUEUE_TAG       = 0x22,
  34        IGNORE_WIDE_RESIDUE     = 0x23,
  35        ACA                     = 0x24,
  36        QAS_REQUEST             = 0x55,
  37
  38        /* Old SCSI2 names, don't use in new code */
  39        BUS_DEVICE_RESET        = TARGET_RESET,
  40        ABORT                   = ABORT_TASK_SET,
  41};
  42
  43/* Host byte codes. */
  44enum scsi_host_status {
  45        DID_OK          = 0x00, /* NO error                                */
  46        DID_NO_CONNECT  = 0x01, /* Couldn't connect before timeout period  */
  47        DID_BUS_BUSY    = 0x02, /* BUS stayed busy through time out period */
  48        DID_TIME_OUT    = 0x03, /* TIMED OUT for other reason              */
  49        DID_BAD_TARGET  = 0x04, /* BAD target.                             */
  50        DID_ABORT       = 0x05, /* Told to abort for some other reason     */
  51        DID_PARITY      = 0x06, /* Parity error                            */
  52        DID_ERROR       = 0x07, /* Internal error                          */
  53        DID_RESET       = 0x08, /* Reset by somebody.                      */
  54        DID_BAD_INTR    = 0x09, /* Got an interrupt we weren't expecting.  */
  55        DID_PASSTHROUGH = 0x0a, /* Force command past mid-layer            */
  56        DID_SOFT_ERROR  = 0x0b, /* The low level driver just wish a retry  */
  57        DID_IMM_RETRY   = 0x0c, /* Retry without decrementing retry count  */
  58        DID_REQUEUE     = 0x0d, /* Requeue command (no immediate retry) also
  59                                 * without decrementing the retry count    */
  60        DID_TRANSPORT_DISRUPTED = 0x0e, /* Transport error disrupted execution
  61                                         * and the driver blocked the port to
  62                                         * recover the link. Transport class will
  63                                         * retry or fail IO */
  64        DID_TRANSPORT_FAILFAST = 0x0f, /* Transport class fastfailed the io */
  65        DID_TARGET_FAILURE = 0x10, /* Permanent target failure, do not retry on
  66                                    * other paths */
  67        DID_NEXUS_FAILURE = 0x11,  /* Permanent nexus failure, retry on other
  68                                    * paths might yield different results */
  69        DID_ALLOC_FAILURE = 0x12,  /* Space allocation on the device failed */
  70        DID_MEDIUM_ERROR = 0x13,  /* Medium error */
  71        DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */
  72};
  73
  74#endif /* _SCSI_SCSI_STATUS_H */
  75