Contiki-NG
rbc_const.h
1 #ifndef RBC_CONST_H_7YXZF39S33__
2 #define RBC_CONST_H_7YXZF39S33__
3 
4 #include <spc2_const.h>
5 
6 /* SCSI operation codes */
7 /* Additional commands for RBC */
8 
9 #define SCSI_CMD_FORMAT_UNIT 0x04
10 #define SCSI_CMD_READ_10 0x28
11 #define SCSI_CMD_READ_CAPACITY 0x25
12 #define SCSI_CMD_START_STOP_UNIT 0x1B
13 #define SCSI_CMD_SYNCHRONIZE_CACHE 0x35
14 #define SCSI_CMD_TEST_UNIT_READY 0x00
15 #define SCSI_CMD_VERIFY_10 0x2F
16 #define SCSI_CMD_WRITE_10 0x2A
17 
18 /* Status codes */
19 /* From SAM-2 */
20 #define SCSI_STATUS_GOOD 0x00
21 #define SCSI_STATUS_CHECK_CONDITION 0x02
22 #define SCSI_STATUS_CONDITION _MET 0x04
23 #define SCSI_STATUS_BUSY 0x08
24 #define SCSI_STATUS_INTERMEDIATE 0x10
25 #define SCSI_STATUS_INTERMEDIATE_CONDITION_MET 0x14
26 #define SCSI_STATUS_RESERVATION_CONFLICT 0x18
27 #define SCSI_STATUS_TASK_SET_FULL 0x28
28 #define SCSI_STATUS_ACA_ACTIVE 0x30
29 #define SCSI_STATUS_TASK_ABORTED 0x40
30 
31 /* Sense keys */
32 #define SCSI_SENSE_KEY_NO_SENSE 0x0
33 #define SCSI_SENSE_KEY_RECOVERED_ERROR 0x1
34 #define SCSI_SENSE_KEY_NOT_READY 0x2
35 #define SCSI_SENSE_KEY_MEDIUM_ERROR 0x3
36 #define SCSI_SENSE_KEY_HARDWARE_ERROR 0x4
37 #define SCSI_SENSE_KEY_ILLEGAL_REQUEST 0x5
38 #define SCSI_SENSE_KEY_UNIT_ATTENTION 0x6
39 #define SCSI_SENSE_KEY_DATA_PROTECT 0x7
40 #define SCSI_SENSE_KEY_BLANK_CHECK 0x8
41 #define SCSI_SENSE_KEY_VENDOR_SPECIFIC 0x9
42 #define SCSI_SENSE_KEY_COPY_ABORTED 0xA
43 #define SCSI_SENSE_KEY_ABORTED_COMMAND 0xB
44 #define SCSI_SENSE_KEY_VOLUME_OVERFLOW 0xD
45 #define SCSI_SENSE_KEY_MISCOMPARE 0xE
46 
47 /* Additional sense codes */
48 #define SCSI_ASC_NO_SENSE 0x0000
49 #define SCSI_ASC_INVALID_COMMAND_OPERATION 0x2000
50 #define SCSI_ASC_INVALID_FIELD_IN_PARAMETER_LIST 0x2600
51 
52 #define SCSI_ASC_INVALID_FIELD_IN_CDB 0x2400
53 
54 /* RBC mode page */
55 #define SCSI_MODE_RBC_DEVICE_PAGE 0x06
56 #define SCSI_MODE_WCD 0x01
57 #define SCSI_MODE_READD 0x08
58 #define SCSI_MODE_WRITED 0x04
59 #define SCSI_MODE_FORMATD 0x02
60 #define SCSI_MODE_LOCKD 0x01
61 
62 /* WRITE(10) command flags */
63 
64 #define SCSI_WRITE_FUA 0x08
65 
66 #endif /* RBC_CONST_H_7YXZF39S33__ */