/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _SCSI_SCSI_STATUS_H #define _SCSI_SCSI_STATUS_H #include #include /* Message codes. */ enum scsi_msg_byte { COMMAND_COMPLETE = 0x00, EXTENDED_MESSAGE = 0x01, SAVE_POINTERS = 0x02, RESTORE_POINTERS = 0x03, DISCONNECT = 0x04, INITIATOR_ERROR = 0x05, ABORT_TASK_SET = 0x06, MESSAGE_REJECT = 0x07, NOP = 0x08, MSG_PARITY_ERROR = 0x09, LINKED_CMD_COMPLETE = 0x0a, LINKED_FLG_CMD_COMPLETE = 0x0b, TARGET_RESET = 0x0c, ABORT_TASK = 0x0d, CLEAR_TASK_SET = 0x0e, INITIATE_RECOVERY = 0x0f, /* SCSI-II only */ RELEASE_RECOVERY = 0x10, /* SCSI-II only */ TERMINATE_IO_PROC = 0x11, /* SCSI-II only */ CLEAR_ACA = 0x16, LOGICAL_UNIT_RESET = 0x17, SIMPLE_QUEUE_TAG = 0x20, HEAD_OF_QUEUE_TAG = 0x21, ORDERED_QUEUE_TAG = 0x22, IGNORE_WIDE_RESIDUE = 0x23, ACA = 0x24, QAS_REQUEST = 0x55, /* Old SCSI2 names, don't use in new code */ BUS_DEVICE_RESET = TARGET_RESET, ABORT = ABORT_TASK_SET, }; /* Host byte codes. */ enum scsi_host_status { DID_OK = 0x00, /* NO error */ DID_NO_CONNECT = 0x01, /* Couldn't connect before timeout period */ DID_BUS_BUSY = 0x02, /* BUS stayed busy through time out period */ DID_TIME_OUT = 0x03, /* TIMED OUT for other reason */ DID_BAD_TARGET = 0x04, /* BAD target. */ DID_ABORT = 0x05, /* Told to abort for some other reason */ DID_PARITY = 0x06, /* Parity error */ DID_ERROR = 0x07, /* Internal error */ DID_RESET = 0x08, /* Reset by somebody. */ DID_BAD_INTR = 0x09, /* Got an interrupt we weren't expecting. */ DID_PASSTHROUGH = 0x0a, /* Force command past mid-layer */ DID_SOFT_ERROR = 0x0b, /* The low level driver just wish a retry */ DID_IMM_RETRY = 0x0c, /* Retry without decrementing retry count */ DID_REQUEUE = 0x0d, /* Requeue command (no immediate retry) also * without decrementing the retry count */ DID_TRANSPORT_DISRUPTED = 0x0e, /* Transport error disrupted execution * and the driver blocked the port to * recover the link. Transport class will * retry or fail IO */ DID_TRANSPORT_FAILFAST = 0x0f, /* Transport class fastfailed the io */ DID_TARGET_FAILURE = 0x10, /* Permanent target failure, do not retry on * other paths */ DID_NEXUS_FAILURE = 0x11, /* Permanent nexus failure, retry on other * paths might yield different results */ DID_ALLOC_FAILURE = 0x12, /* Space allocation on the device failed */ DID_MEDIUM_ERROR = 0x13, /* Medium error */ DID_TRANSPORT_MARGINAL = 0x14, /* Transport marginal errors */ }; #endif /* _SCSI_SCSI_STATUS_H */