Difference between revisions of "Unit SCSI"

From Ultibo.org
Jump to: navigation, search
Line 309: Line 309:
 
| <code>SCSI_ASCQ_NOT_READY_LUN_COMM_OVERRUN = $80;</code>
 
| <code>SCSI_ASCQ_NOT_READY_LUN_COMM_OVERRUN = $80;</code>
 
| LOGICAL UNIT COMMUNICATION OVERRUN
 
| LOGICAL UNIT COMMUNICATION OVERRUN
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''SCSI protocol command constants''' <code> SCSI_COMMAND_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>SCSI_COMMAND_CHANGE_DEF = $40;</code>
 +
| Change Definition (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_COMPARE = $39;</code>
 +
| Compare (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_COPY = $18;</code>
 +
| Copy (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_COP_VERIFY = $3A;</code>
 +
| Copy and Verify (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_INQUIRY = $12;</code>
 +
| Inquiry (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_LOG_SELECT = $4C;</code>
 +
| Log Select (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_LOG_SENSE = $4D;</code>
 +
| Log Sense (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_MODE_SEL6 = $15;</code>
 +
| Mode Select 6-byte (Device Specific)
 +
|-
 +
| <code>SCSI_COMMAND_MODE_SEL10 = $55;</code>
 +
| Mode Select 10-byte (Device Specific)
 +
|-
 +
| <code>SCSI_COMMAND_MODE_SEN6 = $1A;</code>
 +
| Mode Sense 6-byte (Device Specific)
 +
|-
 +
| <code>SCSI_COMMAND_MODE_SEN10 = $5A;</code>
 +
| Mode Sense 10-byte (Device Specific)
 +
|-
 +
| <code>SCSI_COMMAND_READ_BUFF = $3C;</code>
 +
| Read Buffer (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_REQ_SENSE = $03;</code>
 +
| Request Sense (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_SEND_DIAG = $1D;</code>
 +
| Send Diagnostic (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_TST_U_RDY = $00;</code>
 +
| Test Unit Ready (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE_BUFF = $3B;</code>
 +
| Write Buffer (Optional)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Commands Unique to Direct Access Devices''
 +
|-
 +
| <code>SCSI_COMMAND_COMPARE = $39;</code>
 +
| Compare (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_FORMAT = $04;</code>
 +
| Format Unit (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_LCK_UN_CAC = $36;</code>
 +
| Lock Unlock Cache (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_PREFETCH = $34;</code>
 +
| Prefetch (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_MED_REMOVL = $1E;</code>
 +
| Prevent/Allow medium Removal (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_READ6 = $08;</code>
 +
| Read 6-byte (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_READ10 = $28;</code>
 +
| Read 10-byte (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_READ12 = $A8;</code>
 +
| Read 12-byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_READ16 = $88;</code>
 +
| Read 16-byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_RD_CAPAC = $25;</code>
 +
| Read Capacity (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_RD_CAPAC10 = SCSI_COMMAND_RD_CAPAC;</code>
 +
| Read Capacity (10)
 +
|-
 +
| <code>SCSI_COMMAND_RD_DEFECT = $37;</code>
 +
| Read Defect Data (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_READ_LONG = $3E;</code>
 +
| Read Long (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_REASS_BLK = $07;</code>
 +
| Reassign Blocks (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_RCV_DIAG = $1C;</code>
 +
| Receive Diagnostic Results (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_RELEASE = $17;</code>
 +
| Release Unit (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_REZERO = $01;</code>
 +
| Rezero Unit (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SRCH_DAT_E = $31;</code>
 +
| Search Data Equal (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SRCH_DAT_H = $30;</code>
 +
| Search Data High (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SRCH_DAT_L = $32;</code>
 +
| Search Data Low (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SEEK6 = $0B;</code>
 +
| Seek 6-Byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SEEK10 = $2B;</code>
 +
| Seek 10-Byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SEND_DIAG = $1D;</code>
 +
| Send Diagnostics (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_SET_LIMIT = $33;</code>
 +
| Set Limits (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_START_STP = $1B;</code>
 +
| Start/Stop Unit (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_SYNC_CACHE = $35;</code>
 +
| Synchronize Cache (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_VERIFY = $2F;</code>
 +
| Verify (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE6 = $0A;</code>
 +
| Write 6-Byte (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE10 = $2A;</code>
 +
| Write 10-Byte (MANDATORY)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE12 = $AA;</code>
 +
| Write 12-Byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE16 = $8A;</code>
 +
| Write 16-Byte (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_WRT_VERIFY = $2E;</code>
 +
| Write and Verify (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE_LONG = $3F;</code>
 +
| Write Long (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_WRITE_SAME = $41;</code>
 +
| Write Same (Optional)
 +
|-
 +
| <code>SCSI_COMMAND_RD_FMT_CAP = $23;</code>
 +
| Read Format Capacities
 +
|-
 +
| <code>SCSI_COMMAND_SVC_ACT_IN = $9E;</code>
 +
| Service Action In
 
|-
 
|-
 
|}
 
|}

Revision as of 23:46, 28 November 2016

Return to Unit Reference


Description


To be documented

Constants



SCSI specific constants SCSI_*
SCSI_NAME_PREFIX = 'SCSI'; Name prefix for SCSI Devices
SCSI_HOST_PREFIX = 'SCSIHost'; Name prefix for Host Devices


SCSI device type constants SCSI_TYPE_*
SCSI_TYPE_NONE = 0;  
SCSI_TYPE_HDD = 1;  


SCSI device state constants SCSI_STATE_*
SCSI_STATE_EJECTED = 0;  
SCSI_STATE_INSERTED = 1;  


SCSI device flag constants SCSI_FLAG_*
SCSI_FLAG_NONE = $00000000;  


SCSI protocol message constants SCSI_MESSAGE_*
SCSI_MESSAGE_COMPLETE = $00;  
SCSI_MESSAGE_EXTENDED = $01;  
SCSI_MESSAGE_SAVE_DP = $02;  
SCSI_MESSAGE_RESTORE_DP = $03;  
SCSI_MESSAGE_DISCONNECT = $04;  
SCSI_MESSAGE_ID_ERROR = $05;  
SCSI_MESSAGE_ABORT = $06;  
SCSI_MESSAGE_REJECT = $07;  
SCSI_MESSAGE_NOOP = $08;  
SCSI_MESSAGE_PARITY = $09;  
SCSI_MESSAGE_LCOMPLETE = $0a;  
SCSI_MESSAGE_FCOMPLETE = $0b;  
SCSI_MESSAGE_RESET = $0c;  
SCSI_MESSAGE_ABORT_TAG = $0d;  
SCSI_MESSAGE_CLEAR_QUEUE = $0e;  
SCSI_MESSAGE_INIT_REC = $0f;  
SCSI_MESSAGE_REL_REC = $10;  
SCSI_MESSAGE_TERMINATE = $11;  
SCSI_MESSAGE_SIMPLE_TAG = $20;  
SCSI_MESSAGE_HEAD_TAG = $21;  
SCSI_MESSAGE_ORDERED_TAG = $22;  
SCSI_MESSAGE_IGN_RESIDUE = $23;  
SCSI_MESSAGE_IDENTIFY = $80;  
 
SCSI_MESSAGE_X_MODIFY_DP = $00;  
SCSI_MESSAGE_X_SYNC_REQ = $01;  
SCSI_MESSAGE_X_WIDE_REQ = $03;  
SCSI_MESSAGE_X_PPR_REQ = $04;  


SCSI protocol status constants SCSI_STATUS_*
SCSI_STATUS_GOOD = $00;  
SCSI_STATUS_CHECK_COND = $02;  
SCSI_STATUS_COND_MET = $04;  
SCSI_STATUS_BUSY = $08;  
SCSI_STATUS_INT = $10;  
SCSI_STATUS_INT_COND_MET = $14;  
SCSI_STATUS_CONFLICT = $18;  
SCSI_STATUS_TERMINATED = $20;  
SCSI_STATUS_QUEUE_FULL = $28;  
SCSI_STATUS_ILLEGAL = $ff;  
SCSI_STATUS_SENSE = $80;  


SCSI protocol sense key constants SCSI_SENSE_*
SCSI_SENSE_NO_SENSE = $00;  
SCSI_SENSE_RECOVERED_ERROR = $01;  
SCSI_SENSE_NOT_READY = $02;  
SCSI_SENSE_MEDIUM_ERROR = $03;  
SCSI_SENSE_HARDWARE_ERROR = $04;  
SCSI_SENSE_ILLEGAL_REQUEST = $05;  
SCSI_SENSE_UNIT_ATTENTION = $06;  
SCSI_SENSE_DATA_PROTECT = $07;  
SCSI_SENSE_BLANK_CHECK = $08;  
SCSI_SENSE_VENDOR_SPECIFIC = $09;  
SCSI_SENSE_COPY_ABORTED = $0A;  
SCSI_SENSE_ABORTED_COMMAND = $0B;  
SCSI_SENSE_VOLUME_OVERFLOW = $0D;  
SCSI_SENSE_MISCOMPARE = $0E;  


SCSI protocol additional sense code constants SCSI_ASC_*
SCSI_ASC_NO_SENSE = $00; NO SENSE
SCSI_ASC_RECOVERED_RETRIES = $17; RECOVERED DATA WITH RETRIES
SCSI_ASC_RECOVERED_ECC = $18; RECOVERED DATA WITH ECC
SCSI_ASC_NOT_READY_LUN = $04; LOGICAL UNIT NOT READY
SCSI_ASC_NOT_READY_NO_REF_POS = $06; NO REFERENCE POSITION FOUND
SCSI_ASC_NOT_READY_LUN_COMM = $08; LOGICAL UNIT COMMUNICATION
SCSI_ASC_NOT_READY_MEDIUM_NOT_PRESENT = $3A; MEDIUM NOT PRESENT


SCSI protocol additional sense code qualifier constants SCSI_ASCQ_*
SCSI_ASCQ_NO_SENSE = $00; NO SENSE
SCSI_ASCQ_RECOVERED_RETRIES = $01; RECOVERED DATA WITH RETRIES
SCSI_ASCQ_RECOVERED_ECC = $00; RECOVERED DATA WITH ECC
SCSI_ASCQ_NOT_READY_LUN_BECOME_READY = $01; LOGICAL DRIVE NOT READY - BECOMING READY
SCSI_ASCQ_NOT_READY_LUN_INIT_REQUIRED = $02; LOGICAL DRIVE NOT READY - INITIALIZATION REQUIRED
SCSI_ASCQ_NOT_READY_LUN_FORMAT_PROGRESS = $04; LOGICAL UNIT NOT READY - FORMAT IN PROGRESS
SCSI_ASCQ_NOT_READY_LUN_DEVICE_BUSY = $FF; LOGICAL DRIVE NOT READY - DEVICE IS BUSY
SCSI_ASCQ_NOT_READY_LUN_COMM_FAILURE = $00; LOGICAL UNIT COMMUNICATION FAILURE
SCSI_ASCQ_NOT_READY_LUN_COMM_TIMEOUT = $01; LOGICAL UNIT COMMUNICATION TIME-OUT
SCSI_ASCQ_NOT_READY_LUN_COMM_OVERRUN = $80; LOGICAL UNIT COMMUNICATION OVERRUN


SCSI protocol command constants SCSI_COMMAND_*
SCSI_COMMAND_CHANGE_DEF = $40; Change Definition (Optional)
SCSI_COMMAND_COMPARE = $39; Compare (Optional)
SCSI_COMMAND_COPY = $18; Copy (Optional)
SCSI_COMMAND_COP_VERIFY = $3A; Copy and Verify (Optional)
SCSI_COMMAND_INQUIRY = $12; Inquiry (MANDATORY)
SCSI_COMMAND_LOG_SELECT = $4C; Log Select (Optional)
SCSI_COMMAND_LOG_SENSE = $4D; Log Sense (Optional)
SCSI_COMMAND_MODE_SEL6 = $15; Mode Select 6-byte (Device Specific)
SCSI_COMMAND_MODE_SEL10 = $55; Mode Select 10-byte (Device Specific)
SCSI_COMMAND_MODE_SEN6 = $1A; Mode Sense 6-byte (Device Specific)
SCSI_COMMAND_MODE_SEN10 = $5A; Mode Sense 10-byte (Device Specific)
SCSI_COMMAND_READ_BUFF = $3C; Read Buffer (Optional)
SCSI_COMMAND_REQ_SENSE = $03; Request Sense (MANDATORY)
SCSI_COMMAND_SEND_DIAG = $1D; Send Diagnostic (Optional)
SCSI_COMMAND_TST_U_RDY = $00; Test Unit Ready (MANDATORY)
SCSI_COMMAND_WRITE_BUFF = $3B; Write Buffer (Optional)
 
Commands Unique to Direct Access Devices
SCSI_COMMAND_COMPARE = $39; Compare (Optional)
SCSI_COMMAND_FORMAT = $04; Format Unit (MANDATORY)
SCSI_COMMAND_LCK_UN_CAC = $36; Lock Unlock Cache (Optional)
SCSI_COMMAND_PREFETCH = $34; Prefetch (Optional)
SCSI_COMMAND_MED_REMOVL = $1E; Prevent/Allow medium Removal (Optional)
SCSI_COMMAND_READ6 = $08; Read 6-byte (MANDATORY)
SCSI_COMMAND_READ10 = $28; Read 10-byte (MANDATORY)
SCSI_COMMAND_READ12 = $A8; Read 12-byte (Optional)
SCSI_COMMAND_READ16 = $88; Read 16-byte (Optional)
SCSI_COMMAND_RD_CAPAC = $25; Read Capacity (MANDATORY)
SCSI_COMMAND_RD_CAPAC10 = SCSI_COMMAND_RD_CAPAC; Read Capacity (10)
SCSI_COMMAND_RD_DEFECT = $37; Read Defect Data (Optional)
SCSI_COMMAND_READ_LONG = $3E; Read Long (Optional)
SCSI_COMMAND_REASS_BLK = $07; Reassign Blocks (Optional)
SCSI_COMMAND_RCV_DIAG = $1C; Receive Diagnostic Results (Optional)
SCSI_COMMAND_RELEASE = $17; Release Unit (MANDATORY)
SCSI_COMMAND_REZERO = $01; Rezero Unit (Optional)
SCSI_COMMAND_SRCH_DAT_E = $31; Search Data Equal (Optional)
SCSI_COMMAND_SRCH_DAT_H = $30; Search Data High (Optional)
SCSI_COMMAND_SRCH_DAT_L = $32; Search Data Low (Optional)
SCSI_COMMAND_SEEK6 = $0B; Seek 6-Byte (Optional)
SCSI_COMMAND_SEEK10 = $2B; Seek 10-Byte (Optional)
SCSI_COMMAND_SEND_DIAG = $1D; Send Diagnostics (MANDATORY)
SCSI_COMMAND_SET_LIMIT = $33; Set Limits (Optional)
SCSI_COMMAND_START_STP = $1B; Start/Stop Unit (Optional)
SCSI_COMMAND_SYNC_CACHE = $35; Synchronize Cache (Optional)
SCSI_COMMAND_VERIFY = $2F; Verify (Optional)
SCSI_COMMAND_WRITE6 = $0A; Write 6-Byte (MANDATORY)
SCSI_COMMAND_WRITE10 = $2A; Write 10-Byte (MANDATORY)
SCSI_COMMAND_WRITE12 = $AA; Write 12-Byte (Optional)
SCSI_COMMAND_WRITE16 = $8A; Write 16-Byte (Optional)
SCSI_COMMAND_WRT_VERIFY = $2E; Write and Verify (Optional)
SCSI_COMMAND_WRITE_LONG = $3F; Write Long (Optional)
SCSI_COMMAND_WRITE_SAME = $41; Write Same (Optional)
SCSI_COMMAND_RD_FMT_CAP = $23; Read Format Capacities
SCSI_COMMAND_SVC_ACT_IN = $9E; Service Action In


Type definitions


To be documented

Public variables


To be documented

Function declarations


To be documented


Return to Unit Reference