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