Merge /spare/repo/linux-2.6/
[sfrench/cifs-2.6.git] / include / scsi / scsi.h
index 3507b3d7c0ebeed2fddc6bb8ac08e782d4063329..6cb1e2788d8bbeb701a5af243d19e622795087a4 100644 (file)
@@ -28,7 +28,7 @@ extern const unsigned char scsi_command_size[8];
  *     SCSI device types
  */
 
-#define MAX_SCSI_DEVICE_CODE 14
+#define MAX_SCSI_DEVICE_CODE 15
 extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE];
 
 /*
@@ -41,6 +41,7 @@ extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE];
 #define FORMAT_UNIT           0x04
 #define READ_BLOCK_LIMITS     0x05
 #define REASSIGN_BLOCKS       0x07
+#define INITIALIZE_ELEMENT_STATUS 0x07
 #define READ_6                0x08
 #define WRITE_6               0x0a
 #define SEEK_6                0x0b
@@ -65,6 +66,7 @@ extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE];
 #define READ_10               0x28
 #define WRITE_10              0x2a
 #define SEEK_10               0x2b
+#define POSITION_TO_ELEMENT   0x2b
 #define WRITE_VERIFY          0x2e
 #define VERIFY                0x2f
 #define SEARCH_HIGH           0x30
@@ -97,6 +99,7 @@ extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE];
 #define PERSISTENT_RESERVE_OUT 0x5f
 #define REPORT_LUNS           0xa0
 #define MOVE_MEDIUM           0xa5
+#define EXCHANGE_MEDIUM       0xa6
 #define READ_12               0xa8
 #define WRITE_12              0xaa
 #define WRITE_VERIFY_12       0xae
@@ -113,6 +116,9 @@ extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE];
 /* values for service action in */
 #define        SAI_READ_CAPACITY_16  0x10
 
+/* Values for T10/04-262r7 */
+#define        ATA_16                0x85      /* 16-byte pass-thru */
+#define        ATA_12                0xa1      /* 12-byte pass-thru */
 
 /*
  *  SCSI Architecture Model (SAM) Status codes. Taken from SAM-3 draft
@@ -208,8 +214,9 @@ static inline int scsi_status_is_good(int status)
                                     * - treated as TYPE_DISK */
 #define TYPE_MEDIUM_CHANGER 0x08
 #define TYPE_COMM           0x09    /* Communications device */
-#define TYPE_ENCLOSURE      0x0d    /* Enclosure Services Device */
 #define TYPE_RAID           0x0c
+#define TYPE_ENCLOSURE      0x0d    /* Enclosure Services Device */
+#define TYPE_RBC           0x0e
 #define TYPE_NO_LUN         0x7f
 
 /*
@@ -295,6 +302,8 @@ struct scsi_lun {
 #define DID_PASSTHROUGH 0x0a   /* Force command past mid-layer            */
 #define DID_SOFT_ERROR  0x0b   /* The low level driver just wish a retry  */
 #define DID_IMM_RETRY   0x0c   /* Retry without decrementing retry count  */
+#define DID_REQUEUE    0x0d    /* Requeue command (no immediate retry) also
+                                * without decrementing the retry count    */
 #define DRIVER_OK       0x00   /* Driver status                           */
 
 /*