/* SPDX-License-Identifier: GPL-2.0 */12#ifndef _SCSI_SCSI_STATUS_H3#define _SCSI_SCSI_STATUS_H45#include <linux/types.h>6#include <scsi/scsi_proto.h>78/* Message codes. */9enum scsi_msg_byte {10COMMAND_COMPLETE = 0x00,11EXTENDED_MESSAGE = 0x01,12SAVE_POINTERS = 0x02,13RESTORE_POINTERS = 0x03,14DISCONNECT = 0x04,15INITIATOR_ERROR = 0x05,16ABORT_TASK_SET = 0x06,17MESSAGE_REJECT = 0x07,18NOP = 0x08,19MSG_PARITY_ERROR = 0x09,20LINKED_CMD_COMPLETE = 0x0a,21LINKED_FLG_CMD_COMPLETE = 0x0b,22TARGET_RESET = 0x0c,23ABORT_TASK = 0x0d,24CLEAR_TASK_SET = 0x0e,25INITIATE_RECOVERY = 0x0f, /* SCSI-II only */26RELEASE_RECOVERY = 0x10, /* SCSI-II only */27TERMINATE_IO_PROC = 0x11, /* SCSI-II only */28CLEAR_ACA = 0x16,29LOGICAL_UNIT_RESET = 0x17,30SIMPLE_QUEUE_TAG = 0x20,31HEAD_OF_QUEUE_TAG = 0x21,32ORDERED_QUEUE_TAG = 0x22,33IGNORE_WIDE_RESIDUE = 0x23,34ACA = 0x24,35QAS_REQUEST = 0x55,3637/* Old SCSI2 names, don't use in new code */38BUS_DEVICE_RESET = TARGET_RESET,39ABORT = ABORT_TASK_SET,40};4142/* Host byte codes. */43enum scsi_host_status {44DID_OK = 0x00, /* NO error */45DID_NO_CONNECT = 0x01, /* Couldn't connect before timeout period */46DID_BUS_BUSY = 0x02, /* BUS stayed busy through time out period */47DID_TIME_OUT = 0x03, /* TIMED OUT for other reason */48DID_BAD_TARGET = 0x04, /* BAD target. */49DID_ABORT = 0x05, /* Told to abort for some other reason */50DID_PARITY = 0x06, /* Parity error */51DID_ERROR = 0x07, /* Internal error */52DID_RESET = 0x08, /* Reset by somebody. */53DID_BAD_INTR = 0x09, /* Got an interrupt we weren't expecting. */54DID_PASSTHROUGH = 0x0a, /* Force command past mid-layer */55DID_SOFT_ERROR = 0x0b, /* The low level driver just wish a retry */56DID_IMM_RETRY = 0x0c, /* Retry without decrementing retry count */57DID_REQUEUE = 0x0d, /* Requeue command (no immediate retry) also58* without decrementing the retry count */59DID_TRANSPORT_DISRUPTED = 0x0e, /* Transport error disrupted execution60* and the driver blocked the port to61* recover the link. Transport class will62* retry or fail IO */63DID_TRANSPORT_FAILFAST = 0x0f, /* Transport class fastfailed the io */64/*65* We used to have DID_TARGET_FAILURE, DID_NEXUS_FAILURE,66* DID_ALLOC_FAILURE and DID_MEDIUM_ERROR at 0x10 - 0x13. For compat67* with userspace apps that parse the host byte for SG IO, we leave68* that block of codes unused and start at 0x14 below.69*/70DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */71};7273#endif /* _SCSI_SCSI_STATUS_H */747576