#include <IOKit/scsi/SCSICommandOperationCodes.h>

IOKit/scsi/SCSICommandOperationCodes.h Kernel.framework

This file contains the operation code definitions for all commands defined by the SCSI specifications. The commands are listed in three formats: 1) All commands are listed in alphabetical order. This list is the live enumeration for all of the command constants. 2) The commands are listed in ascending numerical order. 3) The commands are grouped by Peripheral Device Type. In the command listings by Peripheral Device Type, there will be a comment following each command. This comment indentifies the section of the related specification where the commands is defined and the requirement type of the command, Mandatory or Optional. If a specification redefines an optional command from SPC as mandatory, the command will be relisted in the Peripheral Device Type command list with the mandatory tag next to it. All commands that are listed in SPC as Device Type Specifc will be relisted as a comment in all specifications lists that support that command with the appropriate Mandatory or Optional tag for that specification. The section number and the requirement type of the command are based on the version of the specification listed in the header comment for the Peripheral Device Type. This data is provided for informational purposes only. The specification document and version that the device adheres to as indicated by the data returned in response to the INQUIRY command should be used as the authorative source for supported and required behavior of the device. The SPC set is listed before all other Peripheral Device Type commands as this is the base document from which all of the other documents are derived. The Peripheral Device Types and associated command sets as defined by SPC-2, section 7.4.1 are as follows: Peripheral Device Type Associated Command Specification ------------------------------------ ----------------------------------- 0x00 Direct Access Device SBC - SCSI-3 Block Commands 0x01 Sequential Access Device SSC - SCSI-3 Stream Commands 0x02 Printer Device SSC - SCSI-3 Stream Commands 0x03 Processor Device SPC - SCSI Primary Commands-2 0x04 Write Once Device SBC - SCSI-3 Block Commands 0x05 CD-ROM Device MMC - SCSI Multimedia Commands-2 0x06 Scanner Device SGC - SCSI-3 Graphics Commands 0x07 Optical Memory Device SBC - SCSI-3 Block Commands 0x08 Medium Changer Device SMC - SCSI-3 Medium Changer Cmds 0x09 Communications Device SSC - SCSI-3 Stream Commands 0x0A - 0x0B Graphic Arts Prepress Dev ASC IT8 0x0C Storage Array Controller Device SCC-2 - SCSI Controller Commands-2 0x0D Enclosure Services SES - SCSI-3 Enclosure Services 0x0E Simplified Direct Access Device RBC - SCSI Reduced Block Commands 0x0F Optical Card Reader/Writer Device OCRW - SCSI Specification for Optical Card Reader/Writer 0x10 Reserved No command specification 0x11 Object-Based Storage Device OSD - SCSI Object Based Storage Device Commands 0x12 - 0x14 Reserved No command specification 0x15 Multimedia Media Access Engine RMC - Reduced Multimedia Commands 0x16 - 0x1E Reserved No command specification 0x1F Unknown or No Device No command specification
18 enums

enum(anonymous)

All SCSI Commands listed in alphabetical order. These are the live definitions of the commands. All other command lists are informative.
underlying type unsigned int
kSCSICmd_ACCESS_CONTROL_IN134
kSCSICmd_ACCESS_CONTROL_OUT135
kSCSICmd_BLANK161
kSCSICmd_CHANGE_DEFINITION64
kSCSICmd_CLOSE_TRACK_SESSION91
kSCSICmd_COMPARE57
kSCSICmd_COPY24
kSCSICmd_COPY_AND_VERIFY58
kSCSICmd_ERASE_1044
kSCSICmd_ERASE_12172
kSCSICmd_EXTENDED_COPY131
kSCSICmd_FORMAT_UNIT4
kSCSICmd_GET_CONFIGURATION70
kSCSICmd_GET_EVENT_STATUS_NOTIFICATION74
kSCSICmd_GET_PERFORMANCE172
kSCSICmd_INQUIRY18
kSCSICmd_LOAD_UNLOAD_MEDIUM166
kSCSICmd_LOCK_UNLOCK_CACHE54
kSCSICmd_LOCK_UNLOCK_CACHE_16146
kSCSICmd_LOG_SELECT76
kSCSICmd_LOG_SENSE77
kSCSICmd_MAINTENANCE_IN163
kSCSICmd_MAINTENANCE_OUT164
kSCSICmd_MECHANISM_STATUS189
kSCSICmd_MEDIUM_SCAN56
kSCSICmd_MODE_SELECT_621
kSCSICmd_MODE_SELECT_1085
kSCSICmd_MODE_SENSE_626
kSCSICmd_MODE_SENSE_1090
kSCSICmd_MOVE_MEDIUM_ATTACHED167
kSCSICmd_ATA_PASS_THROUGH161
kSCSICmd_ATA_PASS_THROUGH_EXT133
kSCSICmd_PAUSE_RESUME75
kSCSICmd_PERSISTENT_RESERVE_IN94
kSCSICmd_PERSISTENT_RESERVE_OUT95
kSCSICmd_PLAY_AUDIO_1069
kSCSICmd_PLAY_AUDIO_12165
kSCSICmd_PLAY_AUDIO_MSF71
kSCSICmd_PLAY_AUDIO_TRACK_INDEX72
kSCSICmd_PLAY_CD188
kSCSICmd_PLAY_RELATIVE_1073
kSCSICmd_PLAY_RELATIVE_12169
kSCSICmd_PREFETCH52
kSCSICmd_PREFETCH_16144
kSCSICmd_PREVENT_ALLOW_MEDIUM_REMOVAL30
kSCSICmd_READ_68
kSCSICmd_READ_1040
kSCSICmd_READ_12168
kSCSICmd_READ_16136
kSCSICmd_READ_ATTRIBUTE140
kSCSICmd_READ_BUFFER60
kSCSICmd_READ_BUFFER_CAPACITY92
kSCSICmd_READ_CAPACITY37
kSCSICmd_READ_CD190
kSCSICmd_READ_CD_MSF185
kSCSICmd_READ_DEFECT_DATA_1055
kSCSICmd_READ_DEFECT_DATA_12183
kSCSICmd_READ_DISC_INFORMATION81
kSCSICmd_READ_DVD_STRUCTURE173
kSCSICmd_READ_DISC_STRUCTURE173
kSCSICmd_READ_ELEMENT_STATUS_ATTACHED180
kSCSICmd_READ_FORMAT_CAPACITIES35
kSCSICmd_READ_GENERATION41
kSCSICmd_READ_HEADER68
kSCSICmd_READ_LONG62
kSCSICmd_READ_MASTER_CUE89
kSCSICmd_READ_SUB_CHANNEL66
kSCSICmd_READ_TOC_PMA_ATIP67
kSCSICmd_READ_TRACK_INFORMATION82
kSCSICmd_READ_UPDATED_BLOCK_1045
kSCSICmd_REASSIGN_BLOCKS7
kSCSICmd_REBUILD129
kSCSICmd_RECEIVE8
kSCSICmd_RECEIVE_COPY_RESULTS132
kSCSICmd_RECEIVE_DIAGNOSTICS_RESULTS28
kSCSICmd_REDUNDANCY_GROUP_IN186
kSCSICmd_REDUNDANCY_GROUP_OUT187
kSCSICmd_REGENERATE130
kSCSICmd_RELEASE_623
kSCSICmd_RELEASE_1087
kSCSICmd_REPAIR_TRACK88
kSCSICmd_REPORT_DEVICE_IDENTIFIER163
kSCSICmd_REPORT_KEY164
kSCSICmd_REPORT_LUNS160
kSCSICmd_REQUEST_SENSE3
kSCSICmd_RESERVE_622
kSCSICmd_RESERVE_1086
kSCSICmd_RESERVE_TRACK83
kSCSICmd_REZERO_UNIT1
kSCSICmd_SCAN_MMC186
kSCSICmd_SEARCH_DATA_EQUAL_1049
kSCSICmd_SEARCH_DATA_EQUAL_12177
kSCSICmd_SEARCH_DATA_HIGH_1048
kSCSICmd_SEARCH_DATA_HIGH_12176
kSCSICmd_SEARCH_DATA_LOW_1050
kSCSICmd_SEARCH_DATA_LOW_12178
kSCSICmd_SEEK_611
kSCSICmd_SEEK_1043
kSCSICmd_SEND10
kSCSICmd_SEND_CUE_SHEET93
kSCSICmd_SEND_DIAGNOSTICS29
kSCSICmd_SEND_DVD_STRUCTURE191
kSCSICmd_SEND_EVENT162
kSCSICmd_SEND_KEY163
kSCSICmd_SEND_OPC_INFORMATION84
kSCSICmd_SERVICE_ACTION_IN158
kSCSICmd_SERVICE_ACTION_OUT159
kSCSICmd_SET_CD_SPEED187
kSCSICmd_SET_DEVICE_IDENTIFIER164
kSCSICmd_SET_LIMITS_1051
kSCSICmd_SET_LIMITS_12179
kSCSICmd_SET_READ_AHEAD167
kSCSICmd_SET_STREAMING182
kSCSICmd_SPARE_IN188
kSCSICmd_SPARE_OUT189
kSCSICmd_START_STOP_UNIT27
kSCSICmd_STOP_PLAY_SCAN78
kSCSICmd_SYNCHRONIZE_CACHE53
kSCSICmd_SYNCHRONIZE_CACHE_16145
kSCSICmd_TEST_UNIT_READY0
kSCSICmd_UPDATE_BLOCK61
kSCSICmd_UNMAP66
kSCSICmd_VERIFY_1047
kSCSICmd_VERIFY_12175
kSCSICmd_VERIFY_16143
kSCSICmd_VOLUME_SET_IN190
kSCSICmd_VOLUME_SET_OUT191
kSCSICmd_WRITE_610
kSCSICmd_WRITE_1042
kSCSICmd_WRITE_12170
kSCSICmd_WRITE_16138
kSCSICmd_WRITE_AND_VERIFY_1046
kSCSICmd_WRITE_AND_VERIFY_12174
kSCSICmd_WRITE_AND_VERIFY_16142
kSCSICmd_WRITE_ATTRIBUTE141
kSCSICmd_WRITE_BUFFER59
kSCSICmd_WRITE_LONG63
kSCSICmd_WRITE_SAME65
kSCSICmd_WRITE_SAME_16147
kSCSICmd_XDREAD82
kSCSICmd_XDWRITE80
kSCSICmd_XDWRITE_EXTENDED128
kSCSICmd_XDWRITEREAD_1083
kSCSICmd_XPWRITE81
kSCSICmdVariableLengthCDB127
kSCSICmd_VendorSpecific_Start192
kSCSICmd_VendorSpecific_End255

enum(anonymous)

Service Action Definitions for the Variable Length CDB (7Fh) command
underlying type unsigned int
kSCSIServiceAction_READ_329
kSCSIServiceAction_VERIFY_3210
kSCSIServiceAction_WRITE_3211
kSCSIServiceAction_WRITE_AND_VERIFY_3212
kSCSIServiceAction_WRITE_SAME_3213
kSCSIServiceAction_XDREAD_323
kSCSIServiceAction_XDWRITE_324
kSCSIServiceAction_XDWRITEREAD_327
kSCSIServiceAction_XPWRITE_326

enum(anonymous)

Service Action Definitions for the MAINTENANCE IN (A3h) command
underlying type unsigned int
kSCSIServiceAction_REPORT_ALIASES11
kSCSIServiceAction_REPORT_DEVICE_IDENTIFIER5
kSCSIServiceAction_REPORT_PRIORITY14
kSCSIServiceAction_REPORT_PROVISIONING_INITIALIZATION_PATTERN29
kSCSIServiceAction_REPORT_SUPPORTED_OPERATION_CODES12
kSCSIServiceAction_REPORT_SUPPORTED_TASK_MANAGEMENT_FUNCTIONS13
kSCSIServiceAction_REPORT_TARGET_PORT_GROUPS10

enum(anonymous)

Service Action Definitions for the MAINTENANCE OUT (A4h) command
underlying type unsigned int
kSCSIServiceAction_CHANGE_ALIASES11
kSCSIServiceAction_SET_DEVICE_IDENTIFIER6
kSCSIServiceAction_SET_PRIORITY14
kSCSIServiceAction_SET_TARGET_PORT_GROUPS10

enum(anonymous)

Service Action Definitions for the SERVICE ACTION IN (9Eh) command
underlying type unsigned int
kSCSIServiceAction_GET_LBA_STATUS18
kSCSIServiceAction_READ_CAPACITY_1616
kSCSIServiceAction_READ_LONG_1617

enum(anonymous)

Service Action Definitions for the SERVICE ACTION OUT (9Fh) command
underlying type unsigned int
kSCSIServiceAction_WRITE_LONG_1617

enum(anonymous)

Commands defined by the T10:1236-D SCSI Primary Commands-2 (SPC-2) command specification. The definitions and section numbers are based on section 7 of the revision 18, 21 May 2000 version of the specification. These commands are defined for all devices.
underlying type unsigned int
kSPCCmd_CHANGE_DEFINITION64Obsolete
kSPCCmd_COMPARE57Sec. 7.2: Optional
kSPCCmd_COPY24Sec. 7.3: Optional
kSPCCmd_COPY_AND_VERIFY58Sec. 7.4: Optional
kSPCCmd_EXTENDED_COPY131Sec. 7.5: Optional
kSPCCmd_INQUIRY18Sec. 7.6: Mandatory
kSPCCmd_LOG_SELECT76Sec. 7.7: Optional
kSPCCmd_LOG_SENSE77Sec. 7.8: Optional
kSPCCmd_MODE_SELECT_621Sec. 7.9: Device Type Specific
kSPCCmd_MODE_SELECT_1085Sec. 7.10: Device Type Specific
kSPCCmd_MODE_SENSE_626Sec. 7.11: Device Type Specific
kSPCCmd_MODE_SENSE_1090Sec. 7.12: Device Type Specific
kSPCCmd_MOVE_MEDIUM_ATTACHED167Defined in SMC
kSPCCmd_PERSISTENT_RESERVE_IN94Sec. 7.13: Device Type Specific
kSPCCmd_PERSISTENT_RESERVE_OUT95Sec. 7.14: Device Type Specific
kSPCCmd_PREVENT_ALLOW_MEDIUM_REMOVAL30Sec. 7.15: Device Type Specific
kSPCCmd_READ_BUFFER60Sec. 7.16: Optional
kSPCCmd_READ_ELEMENT_STATUS_ATTACHED180Defined in SMC
kSPCCmd_RECEIVE_COPY_RESULTS132Sec. 7.17: Optional
kSPCCmd_RECEIVE_DIAGNOSTICS_RESULTS28Sec. 7.18: Optional
kSPCCmd_RELEASE_1087Sec. 7.19: Device Type Specific
kSPCCmd_RELEASE_623Sec. 7.20: Device Type Specific
kSPCCmd_REPORT_DEVICE_IDENTIFIER163Sec. 7.21: Optional
kSPCCmd_REPORT_LUNS160Sec. 7.22: Mandatory for LUN Supporting devices
kSPCCmd_REQUEST_SENSE3Sec. 7.23: Device Type Specific
kSPCCmd_RESERVE_1086Sec. 7.24: Device Type Specific
kSPCCmd_RESERVE_622Sec. 7.25: Device Type Specific
kSPCCmd_SEND_DIAGNOSTICS29Sec. 7.26: Optional
kSPCCmd_SET_DEVICE_IDENTIFIER164Sec. 7.27: Optional
kSPCCmd_TEST_UNIT_READY0Sec. 7.28: Mandatory
kSPCCmd_WRITE_BUFFER59Sec. 7.29: Optional

enum(anonymous)

Commands defined by the T10:990-D SCSI-3 Block Commands (SBC) command specification. The definitions and section numbers are based on section 6.1 of the revision 8c, 13 November 1997 version of the specification.
underlying type unsigned int
kSBCCmd_CHANGE_DEFINITION64Obsolete
kSBCCmd_COMPARE57SPC: Optional
kSBCCmd_COPY24SPC: Optional
kSBCCmd_COPY_AND_VERIFY58SPC: Optional
kSBCCmd_FORMAT_UNIT4Sec. 6.1.1: Mandatory
kSBCCmd_INQUIRY18SPC: Mandatory
kSBCCmd_LOCK_UNLOCK_CACHE54Sec. 6.1.2: Optional
kSBCCmd_LOG_SELECT76SPC: Optional
kSBCCmd_LOG_SENSE77SPC: Optional
kSBCCmd_MODE_SELECT_621SPC: Optional
kSBCCmd_MODE_SELECT_1085SPC: Optional
kSBCCmd_MODE_SENSE_626SPC: Optional
kSBCCmd_MODE_SENSE_1090SPC: Optional
kSBCCmd_MOVE_MEDIUM_ATTACHED167SMC: Optional
kSBCCmd_PERSISTENT_RESERVE_IN94SPC: Optional
kSBCCmd_PERSISTENT_RESERVE_OUT95SPC: Optional
kSBCCmd_PREFETCH52Sec. 6.1.3: Optional
kSBCCmd_PREVENT_ALLOW_MEDIUM_REMOVAL30SPC: Optional
kSBCCmd_READ_68Sec. 6.1.4: Mandatory
kSBCCmd_READ_1040Sec. 6.1.5: Mandatory
kSBCCmd_READ_12168Sec. 6.2.4: Optional
kSBCCmd_READ_BUFFER60SPC: Optional
kSBCCmd_READ_CAPACITY37Sec. 6.1.6: Mandatory
kSBCCmd_READ_DEFECT_DATA_1055Sec. 6.1.7: Optional
kSBCCmd_READ_DEFECT_DATA_12183Sec. 6.2.5: Optional
kSBCCmd_READ_ELEMENT_STATUS_ATTACHED180SMC: Optional
kSBCCmd_READ_GENERATION41Sec. 6.2.6: Optional
kSBCCmd_READ_LONG62Sec. 6.1.8: Optional
kSBCCmd_READ_UPDATED_BLOCK_1045Sec. 6.2.7: Optional
kSBCCmd_REASSIGN_BLOCKS7Sec. 6.1.9: Optional
kSBCCmd_REBUILD129Sec. 6.1.10: Optional
kSBCCmd_RECEIVE_DIAGNOSTICS_RESULTS28SPC: Optional
kSBCCmd_REGENERATE130Sec. 6.1.11: Optional
kSBCCmd_RELEASE_623SPC: Optional
kSBCCmd_RELEASE_1087SPC: Mandatory
kSBCCmd_REPORT_LUNS160SPC: Optional
kSBCCmd_REQUEST_SENSE3SPC: Mandatory
kSBCCmd_RESERVE_622SPC: Optional
kSBCCmd_RESERVE_1086SPC: Mandatory
kSBCCmd_REZERO_UNIT1Obsolete
kSBCCmd_SEARCH_DATA_EQUAL_1049Obsolete
kSBCCmd_SEARCH_DATA_HIGH_1048Obsolete
kSBCCmd_SEARCH_DATA_LOW_1050Obsolete
kSBCCmd_SEEK_611Obsolete
kSBCCmd_SEEK_1043Sec. 6.1.12: Optional
kSBCCmd_SEND_DIAGNOSTICS29SPC: Mandatory
kSBCCmd_SET_LIMITS_1051Sec. 6.1.13: Optional
kSBCCmd_SET_LIMITS_12179Sec. 6.2.8: Optional
kSBCCmd_START_STOP_UNIT27Sec. 6.1.14: Optional
kSBCCmd_SYNCHRONIZE_CACHE53Sec. 6.1.15: Optional
kSBCCmd_TEST_UNIT_READY0SPC: Mandatory
kSBCCmd_UPDATE_BLOCK61Sec. 6.2.9: Optional
kSBCCmd_VERIFY_1047Sec. 6.1.16: Optional
kSBCCmd_WRITE_610Sec. 6.1.17: Optional
kSBCCmd_WRITE_1042Sec. 6.1.18: Optional
kSBCCmd_WRITE_12170Sec. 6.2.13: Optional
kSBCCmd_WRITE_AND_VERIFY_1046Sec. 6.1.19: Optional
kSBCCmd_WRITE_AND_VERIFY_12174Sec. 6.2.15: Optional
kSBCCmd_WRITE_BUFFER59SPC: Optional
kSBCCmd_WRITE_LONG63Sec. 6.1.20: Optional
kSBCCmd_WRITE_SAME65Sec. 6.1.21: Optional
kSBCCmd_XDREAD82Sec. 6.1.22: Optional
kSBCCmd_XDWRITE80Sec. 6.1.23: Optional
kSBCCmd_XDWRITE_EXTENDED128Sec. 6.1.24: Optional
kSBCCmd_XPWRITE81Sec. 6.1.25: Optional

enum(anonymous)

Commands defined by the T10:997-D SCSI-3 Stream Commands (SSC) command specification. The definitions and section numbers are based on section 5 of the revision 22, January 1, 2000 version of the specification.
underlying type unsigned int
kSSCSeqCmd_CHANGE_DEFINITION64Obsolete
kSSCSeqCmd_COMPARE57SPC: Optional
kSSCSeqCmd_COPY24SPC: Optional
kSSCSeqCmd_COPY_AND_VERIFY58SPC: Optional
kSSCSeqCmd_ERASE25Sec. 5.3.1: Mandatory
kSSCSeqCmd_FORMAT_MEDIUM4Sec. 5.3.2: Optional
kSSCSeqCmd_INQUIRY18SPC: Mandatory
kSSCSeqCmd_LOAD_UNLOAD27Sec. 5.3.3: Optional
kSSCSeqCmd_LOCATE43Sec. 5.3.4: Optional
kSSCSeqCmd_LOG_SELECT76SPC: Optional
kSSCSeqCmd_LOG_SENSE77SPC: Optional
kSSCSeqCmd_MODE_SELECT_621SPC: Mandatory
kSSCSeqCmd_MODE_SELECT_1085SPC: Optional
kSSCSeqCmd_MODE_SENSE_626SPC: Mandatory
kSSCSeqCmd_MODE_SENSE_1090SPC: Optional
kSSCSeqCmd_MOVE_MEDIUM165SMC: Optional
kSSCSeqCmd_MOVE_MEDIUM_ATTACHED167SMC: Optional
kSSCSeqCmd_PERSISTENT_RESERVE_IN94SPC: Optional
kSSCSeqCmd_PERSISTENT_RESERVE_OUT95SPC: Optional
kSSCSeqCmd_PREVENT_ALLOW_MEDIUM_REMOVAL30SPC: Optional
kSSCSeqCmd_READ_68Sec. 5.3.5: Mandatory
kSSCSeqCmd_READ_BLOCK_LIMITS5Sec. 5.3.6: Mandatory
kSSCSeqCmd_READ_BUFFER60SPC: Optional
kSSCSeqCmd_READ_ELEMENT_STATUS184SMC: Optional
kSSCSeqCmd_READ_ELEMENT_STATUS_ATTACHED180SMC: Optional
kSSCSeqCmd_READ_POSITION52Sec. 5.3.7: Mandatory
kSSCSeqCmd_READ_REVERSE15Sec. 5.3.8: Optional
kSSCSeqCmd_RECEIVE_DIAGNOSTICS_RESULTS28SPC: Optional
kSSCSeqCmd_RECOVER_BUFFERED_DATA20Sec. 5.3.9: Optional
kSSCSeqCmd_RELEASE_623SPC: Mandatory
kSSCSeqCmd_RELEASE_1087SPC: Mandatory
kSSCSeqCmd_REPORT_DENSITY_SUPPORT68Sec. 5.3.10: Mandatory
kSSCSeqCmd_REPORT_LUNS160SPC: Mandatory
kSSCSeqCmd_REQUEST_SENSE3SPC: Mandatory
kSSCSeqCmd_RESERVE_622SPC: Mandatory
kSSCSeqCmd_RESERVE_1086SPC: Mandatory
kSSCSeqCmd_REWIND1Sec. 5.3.11: Mandatory
kSSCSeqCmd_SEND_DIAGNOSTICS29SPC: Mandatory
kSSCSeqCmd_SPACE17Sec. 5.3.12: Mandatory
kSSCSeqCmd_TEST_UNIT_READY0SPC: Mandatory
kSSCSeqCmd_VERIFY_619Sec. 5.3.13: Optional
kSSCSeqCmd_WRITE_610Sec. 5.3.14: Mandatory
kSSCSeqCmd_WRITE_BUFFER59SPC: Optional
kSSCSeqCmd_WRITE_FILEMARKS16Sec. 5.3.15: Mandatory

enum(anonymous)

Commands defined by the T10:997-D SCSI-3 Stream Commands (SSC) command specification. The definitions and section numbers are based on section 6 of the revision 22, January 1, 2000 version of the specification.
underlying type unsigned int
kSSCPrinterCmd_CHANGE_DEFINITION64Obsolete
kSSCPrinterCmd_COMPARE57SPC: Optional
kSSCPrinterCmd_COPY24SPC: Optional
kSSCPrinterCmd_COPY_AND_VERIFY58SPC: Optional
kSSCPrinterCmd_FORMAT4Sec. 6.2.1: Optional
kSSCPrinterCmd_INQUIRY18SPC: Mandatory
kSSCPrinterCmd_LOG_SELECT76SPC: Optional
kSSCPrinterCmd_LOG_SENSE77SPC: Optional
kSSCPrinterCmd_MODE_SELECT_621SPC: Mandatory
kSSCPrinterCmd_MODE_SELECT_1085SPC: Optional
kSSCPrinterCmd_MODE_SENSE_626SPC: Mandatory
kSSCPrinterCmd_MODE_SENSE_1090SPC: Optional
kSSCPrinterCmd_PERSISTENT_RESERVE_IN94SPC: Optional
kSSCPrinterCmd_PERSISTENT_RESERVE_OUT95SPC: Optional
kSSCPrinterCmd_PRINT10Sec. 6.2.2: Mandatory
kSSCPrinterCmd_READ_BUFFER60SPC: Optional
kSSCPrinterCmd_RECEIVE_DIAGNOSTICS_RESULTS28SPC: Optional
kSSCPrinterCmd_RECOVER_BUFFERED_DATA20Sec. 6.2.3: Optional
kSSCPrinterCmd_RELEASE_623SPC: Mandatory
kSSCPrinterCmd_RELEASE_1087SPC: Mandatory
kSSCPrinterCmd_REPORT_LUNS160SPC: Mandatory
kSSCPrinterCmd_REQUEST_SENSE3SPC: Mandatory
kSSCPrinterCmd_RESERVE_622SPC: Mandatory
kSSCPrinterCmd_RESERVE_1086SPC: Mandatory
kSSCPrinterCmd_SEND_DIAGNOSTICS29SPC: Mandatory
kSSCPrinterCmd_SLEW_AND_PRINT11Sec. 6.2.4: Optional
kSSCPrinterCmd_STOP_PRINT27Sec. 6.2.5: Optional
kSSCPrinterCmd_SYNCHRONIZE_BUFFER16Sec. 6.2.6: Optional
kSSCPrinterCmd_TEST_UNIT_READY0SPC: Mandatory
kSSCPrinterCmd_WRITE_BUFFER59SPC: Optional

enum(anonymous)

Commands defined by the T10:1236-D SCSI Primary Commands-2 (SPC-2) command specification. The definitions and section numbers are based on section 9 of the revision 18, 21 May 2000 version of the specification.
underlying type unsigned int
kSPCProcCmd_CHANGE_DEFINITION64Obsolete
kSPCProcCmd_COMPARE57Sec. 7.2: Optional
kSPCProcCmd_COPY24Sec. 7.3: Optional
kSPCProcCmd_COPY_AND_VERIFY58Sec. 7.4: Optional
kSPCProcCmd_EXTENDED_COPY131Sec. 7.5: Optional
kSPCProcCmd_INQUIRY18Sec. 7.6: Mandatory
kSPCProcCmd_LOG_SELECT76Sec. 7.7: Optional
kSPCProcCmd_LOG_SENSE77Sec. 7.8: Optional
kSPCProcCmd_PERSISTENT_RESERVE_IN94Sec. 7.13: Optional
kSPCProcCmd_PERSISTENT_RESERVE_OUT95Sec. 7.14: Optional
kSPCProcCmd_READ_BUFFER60Sec. 7.16: Optional
kSPCProcCmd_RECEIVE8Sec. 9.2: Optional
kSPCProcCmd_RECEIVE_COPY_RESULTS132Sec. 7.17: Optional
kSPCProcCmd_RECEIVE_DIAGNOSTICS_RESULTS28Sec. 7.18: Optional
kSPCProcCmd_RELEASE_1087Sec. 7.19: Optional
kSPCProcCmd_RELEASE_623Sec. 7.20: Optional
kSPCProcCmd_REPORT_LUNS160Sec. 7.22: Optional
kSPCProcCmd_REQUEST_SENSE3Sec. 7.23: Mandatory
kSPCProcCmd_RESERVE_1086Sec. 7.24: Optional
kSPCProcCmd_RESERVE_622Sec. 7.25: Optional
kSPCProcCmd_SEND10Sec. 9.3: Optional
kSPCProcCmd_SEND_DIAGNOSTICS29Sec. 7.26: Mandatory
kSPCProcCmd_TEST_UNIT_READY0Sec. 7.27: Mandatory
kSPCProcCmd_WRITE_BUFFER59Sec. 7.29: Optional

enum(anonymous)

Commands defined by the T10:990-D SCSI-3 Block Commands (SBC) command specification. The definitions and section numbers are based on section 6.3 of the revision 8c, 13 November 1997 version of the specification.
underlying type unsigned int
kSBCWOCmd_CHANGE_DEFINITION64SPC: Optional
kSBCWOCmd_COMPARE57SPC: Optional
kSBCWOCmd_COPY24SPC: Optional
kSBCWOCmd_COPY_AND_VERIFY58SPC: Optional
kSBCWOCmd_INQUIRY18SPC: Mandatory
kSBCWOCmd_LOCK_UNLOCK_CACHE54Sec. 6.1.2: Optional
kSBCWOCmd_LOG_SELECT76SPC: Optional
kSBCWOCmd_LOG_SENSE77SPC: Optional
kSBCWOCmd_MEDIUM_SCAN56Sec. 6.2.3: Optional
kSBCWOCmd_MODE_SELECT_621SPC: Optional
kSBCWOCmd_MODE_SELECT_1085SPC: Optional
kSBCWOCmd_MODE_SENSE_626SPC: Optional
kSBCWOCmd_MODE_SENSE_1090SPC: Optional
kSBCWOCmd_MOVE_MEDIUM165SMC: Optional
kSBCWOCmd_PERSISTENT_RESERVE_IN94SPC: Optional
kSBCWOCmd_PERSISTENT_RESERVE_OUT95SPC: Optional
kSBCWOCmd_PREFETCH52Sec. 6.1.3: Optional
kSBCWOCmd_PREVENT_ALLOW_MEDIUM_REMOVAL30SPC: Optional
kSBCWOCmd_READ_68Sec. 6.1.4: Optional
kSBCWOCmd_READ_1040Sec. 6.1.5: Mandatory
kSBCWOCmd_READ_12168Sec. 6.2.4: Optional
kSBCWOCmd_READ_BUFFER60SPC: Optional
kSBCWOCmd_READ_CAPACITY37Sec. 6.1.6: Mandatory
kSBCWOCmd_READ_ELEMENT_STATUS184SMC: Optional
kSBCWOCmd_READ_LONG62Sec. 6.1.8: Optional
kSBCWOCmd_REASSIGN_BLOCKS7Sec. 6.1.9: Optional
kSBCWOCmd_RECEIVE_DIAGNOSTICS_RESULTS28SPC: Optional
kSBCWOCmd_RELEASE_623SPC: Optional
kSBCWOCmd_RELEASE_1087SPC: Mandatory
kSBCWOCmd_REQUEST_SENSE3SPC: Mandatory
kSBCWOCmd_RESERVE_622SPC: Optional
kSBCWOCmd_RESERVE_1086SPC: Mandatory
kSBCWOCmd_REZERO_UNIT1Obsolete
kSBCWOCmd_SEARCH_DATA_EQUAL_1049Obsolete
kSBCWOCmd_SEARCH_DATA_EQUAL_12177Obsolete
kSBCWOCmd_SEARCH_DATA_HIGH_1048Obsolete
kSBCWOCmd_SEARCH_DATA_HIGH_12176Obsolete
kSBCWOCmd_SEARCH_DATA_LOW_1050Obsolete
kSBCWOCmd_SEARCH_DATA_LOW_12178Obsolete
kSBCWOCmd_SEEK_611Obsolete
kSBCWOCmd_SEEK_1043Sec. 6.1.12: Optional
kSBCWOCmd_SEND_DIAGNOSTICS29SPC: Mandatory
kSBCWOCmd_SET_LIMITS_1051Sec. 6.1.13: Optional
kSBCWOCmd_SET_LIMITS_12179Sec. 6.2.8: Optional
kSBCWOCmd_START_STOP_UNIT27Sec. 6.1.14: Optional
kSBCWOCmd_SYNCHRONIZE_CACHE53Sec. 6.1.15: Optional
kSBCWOCmd_TEST_UNIT_READY0SPC: Mandatory
kSBCWOCmd_VERIFY_1047Sec. 6.2.10: Optional
kSBCWOCmd_VERIFY_12175Sec. 6.2.11: Optional
kSBCWOCmd_WRITE_610Sec. 6.1.17: Optional
kSBCWOCmd_WRITE_1042Sec. 6.2.10: Mandatory
kSBCWOCmd_WRITE_12170Sec. 6.2.13: Optional
kSBCWOCmd_WRITE_AND_VERIFY_1046Sec. 6.2.14: Optional
kSBCWOCmd_WRITE_AND_VERIFY_12174Sec. 6.2.15: Optional
kSBCWOCmd_WRITE_BUFFER59SPC: Optional
kSBCWOCmd_WRITE_LONG63Sec. 6.1.20: Optional

enum(anonymous)

Commands defined by the T10:1363-D SCSI Multimedia Commands-3 (MMC-3) specification. The definitions and section numbers are based on section 6.1 of the revision 01, March 03, 2000 version of the specification. NOTE: The comments following each command may not be accurate. These are not from the MMC-3 specification, but have been derived from the SCSI-2 and original MMC specifications. Unlike the other SCSI command specifications, MMC-2 and MMC-3 do not provide a command requirement type and therefore does not relist the SPC commands with these requirements as they apply to MMC devices. The MMC-2 and MMC-3 specifications also refer back to the SBC specification which seems invalid since MMC devices do not represent a Peripheral Device Type defined by SBC. It is assumed that the SBC references refer to the Peripheral Device Type 0x00 - Direct Access Commands definitions from that specification.
underlying type unsigned int
kMMCCmd_BLANK161Sec. 6.1.1:
kMMCCmd_CHANGE_DEFINITION64Obsolete
kMMCCmd_CLOSE_TRACK_SESSION91Sec. 6.1.2:
kMMCCmd_COMPARE57SPC: Optional
kMMCCmd_COPY24SPC: Optional
kMMCCmd_COPY_AND_VERIFY58SPC: Optional
kMMCCmd_ERASE44SBC:
kMMCCmd_FORMAT_UNIT4Sec. 6.1.3:
kMMCCmd_GET_CONFIGURATION70Sec. 6.1.4:
kMMCCmd_GET_EVENT_STATUS_NOTIFICATION74Sec. 6.1.5:
kMMCCmd_GET_PERFORMANCE172Sec. 6.1.6:
kMMCCmd_INQUIRY18SPC: Mandatory
kMMCCmd_LOAD_UNLOAD_MEDIUM166Sec. 6.1.7:
kMMCCmd_LOG_SELECT76SPC: Optional
kMMCCmd_LOG_SENSE77SPC: Optional
kMMCCmd_MECHANISM_STATUS189Sec. 6.1.8:
kMMCCmd_MODE_SELECT_621SPC: Mandatory
kMMCCmd_MODE_SELECT_1085SPC: Mandatory
kMMCCmd_MODE_SENSE_626SPC: Mandatory
kMMCCmd_MODE_SENSE_1090SPC: Mandatory
kMMCCmd_PAUSE_RESUME75Sec. 6.1.9:
kMMCCmd_PLAY_AUDIO_1069Sec. 6.1.10:
kMMCCmd_PLAY_AUDIO_12165Sec. 6.1.11:
kMMCCmd_PLAY_AUDIO_MSF71Sec. 6.1.12:
kMMCCmd_PLAY_AUDIO_TRACK_INDEX72Obsolete
kMMCCmd_PLAY_CD188Sec. 6.1.13:
kMMCCmd_PLAY_RELATIVE_1073Obsolete
kMMCCmd_PLAY_RELATIVE_12169Obsolete
kMMCCmd_PREFETCH52Optional
kMMCCmd_PREVENT_ALLOW_MEDIUM_REMOVAL30Optional
kMMCCmd_READ_68Optional
kMMCCmd_READ_1040Mandatory
kMMCCmd_READ_12168Optional
kMMCCmd_READ_BUFFER60Optional
kMMCCmd_READ_BUFFER_CAPACITY92Sec. 6.1.15:
kMMCCmd_READ_CD190Sec. 6.1.16:
kMMCCmd_READ_CD_MSF185Sec. 6.1.17:
kMMCCmd_READ_CAPACITY37Sec. 6.1.18:
kMMCCmd_READ_DISC_INFORMATION81Sec. 6.1.19:
kMMCCmd_READ_DVD_STRUCTURE173Sec. 6.1.20:
kMMCCmd_READ_DISC_STRUCTURE173Sec. 6.1.20:
kMMCCmd_READ_FORMAT_CAPACITIES35Sec. 6.1.21:
kMMCCmd_READ_HEADER68Sec. 6.1.22:
kMMCCmd_READ_LONG62Optional
kMMCCmd_READ_MASTER_CUE89Sec. 6.1.23:
kMMCCmd_READ_SUB_CHANNEL66Sec. 6.1.24:
kMMCCmd_READ_TOC_PMA_ATIP67Sec. 6.1.25:
kMMCCmd_READ_TRACK_INFORMATION82Sec. 6.1.27:
kMMCCmd_RECEIVE_DIAGNOSTICS_RESULTS28Optional
kMMCCmd_RELEASE_623Mandatory
kMMCCmd_RELEASE_1087Optional
kMMCCmd_REPAIR_TRACK88Sec. 6.1.28:
kMMCCmd_REPORT_KEY164Sec. 6.1.29:
kMMCCmd_REQUEST_SENSE3Mandatory
kMMCCmd_RESERVE_622Mandatory
kMMCCmd_RESERVE_1086Optional
kMMCCmd_RESERVE_TRACK83Sec. 6.1.30:
kMMCCmd_SCAN_MMC186Sec. 6.1.31:
kMMCCmd_SEARCH_DATA_EQUAL_1049Obsolete
kMMCCmd_SEARCH_DATA_EQUAL_12177Obsolete
kMMCCmd_SEARCH_DATA_HIGH_1048Obsolete
kMMCCmd_SEARCH_DATA_HIGH_12176Obsolete
kMMCCmd_SEARCH_DATA_LOW_1050Obsolete
kMMCCmd_SEARCH_DATA_LOW_12178Obsolete
kMMCCmd_SEEK_611Obsolete
kMMCCmd_SEEK_1043SBC:
kMMCCmd_SEND_CUE_SHEET93Sec. 6.1.32:
kMMCCmd_SEND_DIAGNOSTICS29Mandatory
kMMCCmd_SEND_DVD_STRUCTURE191Sec. 6.1.33:
kMMCCmd_SEND_EVENT162Sec. 6.1.34:
kMMCCmd_SEND_KEY163Sec. 6.1.35:
kMMCCmd_SEND_OPC_INFORMATION84Sec. 6.1.36:
kMMCCmd_SET_CD_SPEED187Sec. 6.1.37:
kMMCCmd_SET_LIMITS_1051Optional
kMMCCmd_SET_LIMITS_12179Optional
kMMCCmd_SET_READ_AHEAD167Sec. 6.1.38:
kMMCCmd_SET_STREAMING182Sec. 6.1.39:
kMMCCmd_START_STOP_UNIT27Optional
kMMCCmd_STOP_PLAY_SCAN78Sec. 6.1.40:
kMMCCmd_SYNCHRONIZE_CACHE53Sec. 6.1.41:
kMMCCmd_TEST_UNIT_READY0Mandatory
kMMCCmd_VERIFY_1047Optional
kMMCCmd_VERIFY_12175Optional
kMMCCmd_WRITE_1042Sec. 6.1.42:
kMMCCmd_WRITE_12170Sec. 6.1.43:
kMMCCmd_WRITE_AND_VERIFY_1046Sec. 6.1.44:
kMMCCmd_WRITE_BUFFER59Optional

enum(anonymous)

Commands defined by the T10:998-D SCSI-3 Graphics Commands (SGC) specification. The definitions and section numbers are based on section 6 of the revision 0, April 1995 version of the specification.
underlying type unsigned int
kSGCCmd_CHANGE_DEFINITION64SPC: Optional
kSGCCmd_COMPARE57SPC: Optional
kSGCCmd_COPY24SPC: Optional
kSGCCmd_COPY_AND_VERIFY58SPC: Optional
kSGCCmd_GET_DATA_BUFFER_STATUS52Sec. 6.1.1: Optional
kSGCCmd_GET_WINDOW37Sec. 6.1.2: Optional
kSGCCmd_INQUIRY18SPC: Mandatory
kSGCCmd_LOG_SELECT76SPC: Optional
kSGCCmd_LOG_SENSE77SPC: Optional
kSGCCmd_MODE_SELECT_621SPC: Optional
kSGCCmd_MODE_SELECT_1085SPC: Optional
kSGCCmd_MODE_SENSE_626SPC: Optional
kSGCCmd_MODE_SENSE_1090SPC: Optional
kSGCCmd_OBJECT_POSITION49Sec. 6.1.3: Optional
kSGCCmd_PORT_STATUS17SPC (??): Mandatory for dual port devices
kSGCCmd_READ40Sec. 6.1.4: Mandatory
kSGCCmd_READ_BUFFER60SPC: Optional
kSGCCmd_RECEIVE_DIAGNOSTICS_RESULTS28SPC: Optional
kSGCCmd_RELEASE_623SPC: Mandatory
kSGCCmd_REQUEST_SENSE3SPC: Mandatory
kSGCCmd_RESERVE_622SPC: Mandatory
kSGCCmd_SCAN27Sec. 6.1.5: Optional
kSGCCmd_SEND27Sec. 6.1.6: Optional
kSGCCmd_SEND_DIAGNOSTICS29SPC: Mandatory
kSGCCmd_SET_WINDOW36Sec. 6.1.7: Mandatory
kSGCCmd_TEST_UNIT_READY0SPC: Mandatory
kSGCCmd_WRITE_BUFFER59SPC: Optional

enum(anonymous)

Commands defined by the T10:1228-D SCSI-3 Medium Changer Commands-2 (SMC-2) (revision 0, March 16, 2000) command specification.
underlying type unsigned int
kSMCCmd_EXCHANGE_MEDIUM166Commands For Independent Medium Changers Optional
kSMCCmd_INITIALIZE_ELEMENT_STATUS7Optional
kSMCCmd_MODE_SELECT_621Optional
kSMCCmd_MODE_SELECT_1085Optional
kSMCCmd_MODE_SENSE_626Optional
kSMCCmd_MODE_SENSE_1090Optional
kSMCCmd_MOVE_MEDIUM165Mandatory
kSMCCmd_PERSISTENT_RESERVE_IN94Optional
kSMCCmd_PERSISTENT_RESERVE_OUT95Optional
kSMCCmd_POSITION_TO_ELEMENT43Optional
kSMCCmd_READ_ELEMENT_STATUS184Mandatory
kSMCCmd_RELEASE_ELEMENT_622Optional
kSMCCmd_RELEASE_ELEMENT_1086Optional
kSMCCmd_REQUEST_VOLUME_ELEMENT_ADDRESS181Optional
kSMCCmd_REQUEST_SENSE3Mandatory
kSMCCmd_RESERVE_ELEMENT_622Optional
kSMCCmd_RESERVE_ELEMENT_1086Optional

enum(anonymous)

Commands defined by the ANSI NCITS.318-199x SCSI Controller Commands (SCC-2) ratified command specification.
underlying type unsigned int
kSCCCmd_MAINTENANCE_IN163Mandatory
kSCCCmd_MAINTENANCE_OUT164Optional
kSCCCmd_MODE_SELECT_621Optional
kSCCCmd_MODE_SELECT_1085Optional
kSCCCmd_MODE_SENSE_626Optional
kSCCCmd_MODE_SENSE_1090Optional
kSCCCmd_PERSISTENT_RESERVE_IN94Optional
kSCCCmd_PERSISTENT_RESERVE_OUT95Optional
kSCCCmd_PORT_STATUS31Optional
kSCCCmd_REDUNDANCY_GROUP_IN186Mandatory
kSCCCmd_REDUNDANCY_GROUP_OUT187Optional
kSCCCmd_RELEASE_623Optional
kSCCCmd_RELEASE_1087Optional
kSCCCmd_REPORT_LUNS160Mandatory
kSCCCmd_REQUEST_SENSE3Mandatory
kSCCCmd_RESERVE_622Optional
kSCCCmd_RESERVE_1086Optional
kSCCCmd_SEND_DIAGNOSTICS29Optional
kSCCCmd_SPARE_IN188Mandatory
kSCCCmd_SPARE_OUT189Optional

enum(anonymous)

Commands defined by the T10:1212-D SCSI-3 Enclosure Services (SES) (revision 8b, February 11, 1998) command specification.
underlying type unsigned int
kSESCmd_MODE_SELECT_621Optional
kSESCmd_MODE_SELECT_1085Optional
kSESCmd_MODE_SENSE_626Optional
kSESCmd_MODE_SENSE_1090Optional
kSESCmd_PERSISTENT_RESERVE_IN94Optional
kSESCmd_PERSISTENT_RESERVE_OUT95Optional
kSESCmd_RECEIVE_DIAGNOSTICS_RESULTS23Mandatory
kSESCmd_RELEASE_623Optional
kSESCmd_RELEASE_1087Optional
kSESCmd_REQUEST_SENSE3Mandatory
kSESCmd_RESERVE_622Optional
kSESCmd_RESERVE_1086Optional
kSESCmd_SEND_DIAGNOSTICS29Mandatory

enum(anonymous)

Commands defined by the T10:1240-D Reduced Block Commands (RBC) (revision 10a, August 18, 1999) command specification.
underlying type unsigned int
kRBCCmd_FORMAT_UNIT4Optional
kRBCCmd_READ_1040Mandatory
kRBCCmd_READ_CAPACITY37Mandatory
kRBCCmd_START_STOP_UNIT27Mandatory
kRBCCmd_SYNCHRONIZE_CACHE53Optional
kRBCCmd_VERIFY_1047Mandatory
kRBCCmd_WRITE_1042Mandatory
kRBCCmd_WRITE_BUFFER59Mandatory for fixed media Optional for removable