Unit SCSI
From Ultibo.org
								
												
				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