#ifndef SCSI_COMMANDS_H #define SCSI_COMMANDS_H /* scsi/commands.h Operation codes for SCSI-2 and SCSI-3 commands 30 Nov 94 Peter Urbanec Created file 10 Jan 95 Peter Urbanec Added SCSI_ prefix to all commands 31 Jan 95 Peter Urbanec Released to public 07 Apr 99 Andrea Vallinotto Updated with some SCSI-3 commands 15 Jun 99 Andrea Vallinotto Additional rework, removed redundant definitions. Released to public */ /* All device types */ #define SCSI_CHANGE_DEFINITION 0x40 #define SCSI_COMPARE 0x39 #define SCSI_COPY 0x18 #define SCSI_COPY_AND_VERIFY 0x3a #define SCSI_INQUIRY 0x12 #define SCSI_LOG_SELECT 0x4c #define SCSI_LOG_SENSE 0x4d #define SCSI_MODE_SELECT_6 0x15 #define SCSI_MODE_SELECT_10 0x55 #define SCSI_MODE_SELECT SCSI_MODE_SELECT_6 #define SCSI_MODE_SENSE_6 0x1a #define SCSI_MODE_SENSE_10 0x5a #define SCSI_MODE_SENSE SCSI_MODE_SENSE_6 #define SCSI_PERISTENT_RESERVE_IN 0x5e #define SCSI_PERISTENT_RESERVE_OUT 0x5f #define SCSI_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e #define SCSI_READ_BUFFER 0x3c #define SCSI_RECEIVE_DIAGNOSTIC_RESULTS 0x1c #define SCSI_RELEASE_6 0x17 #define SCSI_RELEASE_10 0x57 #define SCSI_RELEASE #define SCSI_RELEASE_6 #define SCSI_REPORT_DEVICE_IDENTIFIER 0xa3 #define SCSI_REPORT_LUNS 0xa0 #define SCSI_REQUEST_SENSE 0x03 #define SCSI_RESERVE_6 0x16 #define SCSI_RESERVE_10 0x56 #define SCSI_RESERVE #define SCSI_RESERVE_6 #define SCSI_SEND_DIAGNOSTIC 0x1d #define SCSI_SET_DEVICE_INDENTIFIER 0xa4 #define SCSI_TEST_UNIT_READY 0x00 #define SCSI_WRITE_BUFFER 0x3b /* Direct Access devices */ #define SCSI_DA_FORMAT_UNIT 0x04 #define SCSI_DA_LOCK_UNLOCK_CACHE 0x36 #define SCSI_DA_PRE_FETCH 0x34 #define SCSI_DA_READ_6 0x08 #define SCSI_DA_READ_10 0x28 #define SCSI_DA_READ_CAPACITY 0x25 #define SCSI_DA_READ_DEFECT_DATA_10 0x37 #define SCSI_DA_READ_DEFECT_DATA SCSI_DA_READ_DEFECT_DATA_10 #define SCSI_DA_READ_DEFECT_DATA_12 0xb7 #define SCSI_DA_READ_LONG 0x3e #define SCSI_DA_REASSIGN_BLOCKS 0x07 #define SCSI_DA_REBUILD 0x81 #define SCSI_DA_REGENERATE 0x82 #define SCSI_DA_REZERO_UNIT 0x01 #define SCSI_DA_SEARCH_DATA_EQUAL 0x31 #define SCSI_DA_SEARCH_DATA_HIGH 0x30 #define SCSI_DA_SEARCH_DATA_LOW 0x32 #define SCSI_DA_SEEK_6 0x0b #define SCSI_DA_SEEK_10 0x2b #define SCSI_DA_SET_LIMITS 0x33 #define SCSI_DA_START_STOP_UNIT 0x1b #define SCSI_DA_SYNCHRONIZE_CACHE 0x35 #define SCSI_DA_VERIFY 0x2f #define SCSI_DA_WRITE_6 0x0a #define SCSI_DA_WRITE_10 0x2a #define SCSI_DA_WRITE_AND_VERIFY 0x2e #define SCSI_DA_WRITE_LONG 0x3f #define SCSI_DA_WRITE_SAME 0x41 #define SCSI_DA_XDREAD 0x52 #define SCSI_DA_XDWRITE 0x50 #define SCSI_DA_XDWRITE_EXTENDED 0x80 #define SCSI_DA_XPWRITE 0x51 /* Sequential access devices */ #define SCSI_SA_ERASE 0x19 #define SCSI_SA_FORMAT_MEDIUM 0x04 #define SCSI_SA_LOAD_UNLOAD 0x1b #define SCSI_SA_LOCATE 0x2b #define SCSI_SA_READ 0x08 #define SCSI_SA_READ_BLOCK_LIMITS 0x05 #define SCSI_SA_READ_POSITION 0x34 #define SCSI_SA_READ_REVERSE 0x0f #define SCSI_SA_RECOVER_BUFFERED_DATA 0x14 #define SCSI_SA_RELEASE_6 0x17 #define SCSI_SA_RELEASE_10 0x57 #define SCSI_SA_RELEASE_UNIT SCSI_SA_RELEASE_6 #define SCSI_SA_REPORT_DENSITY_SUPPORT 0x44 #define SCSI_SA_RESERVE_6 0x16 #define SCSI_SA_RESERVE_10 0x56 #define SCSI_SA_RESERVE_UNIT SCSI_SA_RESERVE_6 #define SCSI_SA_REWIND 0x01 #define SCSI_SA_SPACE 0x11 #define SCSI_SA_VERIFY 0x13 #define SCSI_SA_WRITE 0x0a #define SCSI_SA_WRITE_FILEMARKS 0x10 /* Printer devices */ #define SCSI_PRT_FORMAT 0x04 #define SCSI_PRT_PRINT 0x0a #define SCSI_PRT_RECOVER_BUFFERED_DATA 0x14 #define SCSI_PRT_RELEASE_UNIT_6 SCSI_RELEASE_6 #define SCSI_PRT_RELEASE_UNIT_10 SCSI_RELEASE_10 #define SCSI_PRT_RESERVE_UNIT_6 SCSI_RESERVE_6 #define SCSI_PRT_RESERVE_UNIT_10 SCSI_RESERVE_10 #define SCSI_PRT_SLEW_AND_PRINT 0x0b #define SCSI_PRT_STOP_PRINT 0x1b #define SCSI_PRT_SYNCHRONIZE_BUFFER 0x10 /* Processor devices */ #define SCSI_CPU_RECEIVE 0x08 #define SCSI_CPU_SEND 0x0a /* Write Once devices */ #define SCSI_WO_LOCK_UNLOCK_CACHE 0x36 #define SCSI_WO_MEDIUM_SCAN 0x38 #define SCSI_WO_PRE_FETCH 0x34 #define SCSI_WO_READ_6 0x08 #define SCSI_WO_READ_10 0x28 #define SCSI_WO_READ_12 0xa8 #define SCSI_WO_READ_CAPACITY 0x25 #define SCSI_WO_READ_LONG 0x3e #define SCSI_WO_REASSIGN_BLOCKS 0x07 #define SCSI_WO_REZERO_UNIT 0x01 #define SCSI_WO_SEARCH_DATA_EQUAL_10 0x31 #define SCSI_WO_SEARCH_DATA_EQUAL_12 0xb1 #define SCSI_WO_SEARCH_DATA_HIGH_10 0x30 #define SCSI_WO_SEARCH_DATA_HIGH_12 0xb0 #define SCSI_WO_SEARCH_DATA_LOW_10 0x32 #define SCSI_WO_SEARCH_DATA_LOW_12 0xb2 #define SCSI_WO_SEEK_6 0x0b #define SCSI_WO_SEEK_10 0x2b #define SCSI_WO_SET_LIMITS_10 0x33 #define SCSI_WO_SET_LIMITS_12 0xb3 #define SCSI_WO_START_STOP_UNIT SCSI_DA_START_STOP_UNIT #define SCSI_WO_SYNCHRONIZE_CACHE SCSI_DA_SYNCHRONIZE_CACHE #define SCSI_WO_VERIFY_10 0x2f #define SCSI_WO_VERIFY_12 0xaf #define SCSI_WO_WRITE_6 0x0a #define SCSI_WO_WRITE_10 0x2a #define SCSI_WO_WRITE_12 0xaa #define SCSI_WO_WRITE_AND_VERIFY_10 0x2e #define SCSI_WO_WRITE_AND_VERIFY_12 0xae #define SCSI_WO_WRITE_LONG 0x3f /* CD-ROM devices */ #define SCSI_CD_LOAD_UNLOAD_CD 0xa6 #define SCSI_CD_LOCK_UNLOCK_CACHE 0x36 #define SCSI_CD_MECHANISM_STATUS 0xbd #define SCSI_CD_PAUSE_RESUME 0x4b #define SCSI_CD_PLAY_AUDIO_10 0x45 #define SCSI_CD_PLAY_AUDIO_12 0xa5 #define SCSI_CD_PLAY_AUDIO_MSF 0x47 #define SCSI_CD_PLAY_AUDIO_TRACK_INDEX 0x48 #define SCSI_CD_PLAY_CD 0xbc #define SCSI_CD_PLAY_TRACK_RELATIVE_10 0x49 #define SCSI_CD_PLAY_TRACK_RELATIVE_12 0xa9 #define SCSI_CD_PRE_FETCH 0x34 #define SCSI_CD_READ_CD 0xbe #define SCSI_CD_READ_CD_MSF 0xb9 #define SCSI_CD_READ_CD_ROM_CAPACITY 0x25 #define SCSI_CD_READ_CD_ROM_RECORDED_CAPACITY SCSI_CD_READ_CD_ROM_CAPACITY #define SCSI_CD_READ_HEADER 0x44 #define SCSI_CD_READ_SUB_CHANNEL 0x42 #define SCSI_CD_READ_TOC_PMA_ATIP 0x43 #define SCSI_CD_READ_TOC SCSI_CD_READ_TOC_PMA_ATIP #define SCSI_CD_SCAN 0xba #define SCSI_CD_SEARCH_DATA_EQUAL_10 SCSI_WO_SEARCH_DATA_EQUAL_10 #define SCSI_CD_SEARCH_DATA_EQUAL_12 SCSI_WO_SEARCH_DATA_EQUAL_12 #define SCSI_CD_SEARCH_DATA_HIGH_10 SCSI_WO_SEARCH_DATA_HIGH_10 #define SCSI_CD_SEARCH_DATA_HIGH_12 SCSI_WO_SEARCH_DATA_HIGH_12 #define SCSI_CD_SEARCH_DATA_LOW_10 SCSI_WO_SEARCH_DATA_LOW_10 #define SCSI_CD_SEARCH_DATA_LOW_12 SCSI_WO_SEARCH_DATA_LOW_12 #define SCSI_CD_SEEK_6 0x0b #define SCSI_CD_SEEK_10 0x2b #define SCSI_CD_SET_CD_SPEED 0xbb #define SCSI_CD_SET_LIMITS_10 SCSI_WO_SET_LIMITS_10 #define SCSI_CD_SET_LIMITS_12 SCSI_WO_SET_LIMITS_12 #define SCSI_CD_START_STOP_UNIT SCSI_DA_START_STOP_UNIT #define SCSI_CD_STOP_PLAY_SCAN 0x4e #define SCSI_CD_SYNCHRONIZE_CACHE SCSI_DA_SYNCHRONIZE_CACHE #define SCSI_CD_VERIFY_10 0x2f #define SCSI_CD_VERIFY_12 0xaf /* CD-RW devices */ #define SCSI_CDRW_BLANK 0xa1 #define SCSI_CDRW_CLOSE_TRACK_SESSION 0x5B #define SCSI_CDRW_FORMAT_UNIT SCSI_DA_FORMAT_UNIT #define SCSI_CDRW_READ_BUFFER_CAPACITY 0x5c #define SCSI_CDRW_READ_DISK_INFORMATION 0x51 #define SCSI_CDRW_READ_MASTER_QUEUE 0x59 #define SCSI_CDRW_READ_TRACK_INFORMATION 0x52 #define SCSI_CDRW_REPAIR_TRACK 0x58 #define SCSI_CDRW_RESERVE_TRACK 0x53 #define SCSI_CDRW_SEND_QUEUE_SHEET 0x5d #define SCSI_CDRW_SEND_OPC_INFORMATION 0X54 #define SCSI_CDRW_SYNCRONIZE_CACHE SCSI_DA_SYNCHRONIZE_CACHE #define SCSI_CDRW_WRITE_10 SCSI_DA_WRITE_10 /* Scanner devices */ #define SCSI_SC_GET_DATA_BUFFER_STATUS 0x34 #define SCSI_SC_GET_WINDOW 0x25 #define SCSI_SC_OBJECT_POSITION 0x31 #define SCSI_SC_READ SCSI_DA_READ_10 #define SCSI_SC_SCAN 0x1b #define SCSI_SC_SET_WINDOW 0x24 #define SCSI_SC_SEND SCSI_DA_WRITE_10 /* Optical memory devices */ #define SCSI_OM_ERASE_10 0x2c #define SCSI_OM_ERASE_12 0xac #define SCSI_OM_FORMAT_UNIT 0x04 #define SCSI_OM_LOCK_UNLOCK_CACHE 0x36 #define SCSI_OM_MEDIUM_SCAN 0x38 #define SCSI_OM_PRE_FETCH 0x34 #define SCSI_OM_READ_6 0x08 #define SCSI_OM_READ_10 0x28 #define SCSI_OM_READ_12 0xa8 #define SCSI_OM_READ_CAPACITY 0x25 #define SCSI_OM_READ_DEFECT_DATA_10 0x37 #define SCSI_OM_READ_DEFECT_DATA_12 0xb7 #define SCSI_OM_READ_GENERATION 0x29 #define SCSI_OM_READ_LONG 0x3e #define SCSI_OM_READ_UPDATED_BLOCK 0x2d #define SCSI_OM_REASSIGN_BLOCKS 0x07 #define SCSI_OM_REZERO_UNIT 0x01 #define SCSI_OM_SEARCH_DATA_EQUAL_10 0x31 #define SCSI_OM_SEARCH_DATA_EQUAL_12 0xb1 #define SCSI_OM_SEARCH_DATA_HIGH_10 0x30 #define SCSI_OM_SEARCH_DATA_HIGH_12 0xb0 #define SCSI_OM_SEARCH_DATA_LOW_10 0x32 #define SCSI_OM_SEARCH_DATA_LOW_12 0xb2 #define SCSI_OM_SEEK_6 0x0b #define SCSI_OM_SEEK_10 0x2b #define SCSI_OM_SET_LIMITS_10 0x33 #define SCSI_OM_SET_LIMITS_12 0xb3 #define SCSI_OM_START_STOP_UNIT 0x1b #define SCSI_OM_SYNCHRONIZE_CACHE SCSI_DA_SYNCHRONIZE_CACHE #define SCSI_OM_UPDATE_BLOCK 0x3d #define SCSI_OM_VERIFY_10 0x2f #define SCSI_OM_VERIFY_12 0xaf #define SCSI_OM_WRITE_6 0x0a #define SCSI_OM_WRITE_10 0x2a #define SCSI_OM_WRITE_12 0xaa #define SCSI_OM_WRITE_AND_VERIFY_10 0x2e #define SCSI_OM_WRITE_AND_VERIFY_12 0xae #define SCSI_OM_WRITE_LONG 0x3f /* Medium changer devices */ #define SCSI_MC_EXCHANGE_MEDIUM 0xa6 #define SCSI_MC_INITIALIZE_ELEMENT_STATUS 0x07 #define SCSI_MC_MOVE_MEDIUM 0xa5 #define SCSI_MC_MOVE_MEDIUM_ATTACHED 0xa7 #define SCSI_MC_POSITION_TO_ELEMENT 0x2b #define SCSI_MC_READ_ELEMENT_STATUS 0xb8 #define SCSI_MC_READ_ELEMENT_STATUS_ATTACHED 0xb4 #define SCSI_MC_RELEASE_ELEMENT_6 SCSI_RELEASE_6 #define SCSI_MC_RELEASE_ELEMENT_10 SCSI_RELEASE_10 #define SCSI_MC_REQUEST_VOLUME_ELEMENT_ADDRESS 0xb5 #define SCSI_MC_RESERVE_ELEMENT_6 SCSI_RESERVE_6 #define SCSI_MC_RESERVE_ELEMENT_10 SCSI_RESERVE_10 #define SCSI_MC_REZERO_UNIT 0x01 #define SCSI_MC_SEND_VOLUME_TAG 0xb6 /* WARNING: 0xa5 and 0xb8 should be used on sequential devices only. */ /* Communications devices */ #define SCSI_COM_GET_MESSAGE_6 0x08 #define SCSI_COM_GET_MESSAGE_10 0x28 #define SCSI_COM_GET_MESSAGE_12 0xa8 #define SCSI_COM_SEND_MESSAGE_6 0x0a #define SCSI_COM_SEND_MESSAGE_10 0x2a #define SCSI_COM_SEND_MESSAGE_12 0xaa #endif /* SCSI_COMMANDS_H */