Difference between revisions of "Unit SCSI"
From Ultibo.org
Line 687: | Line 687: | ||
''None defined'' | ''None defined'' | ||
+ | |||
Return to [[Unit_Reference|Unit Reference]] | Return to [[Unit_Reference|Unit Reference]] |
Revision as of 23:49, 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 |
SCSI command data constants
SCSI_COMMAND_MAX_*
SCSI_COMMAND_MAX_SIZE = 16;
|
SCSI service action constants
SCSI_SAI_*
SCSI_SAI_READ_CAPACITY_16 = $10;
|
Read Capacity (16) |
SCSI_SAI_GET_LBA_STATUS = $12;
|
Get LBA Status |
SCSI inquiry data constants
SCSI_INQUIRY_*
SCSI_INQUIRY_STANDARD = $00;
|
SCSI standard inquiry data constants
SCSI_STANDARD_INQUIRY_*
SCSI_STANDARD_INQUIRY_SIZE = 36;
|
SCSI inquiry peripheral device type constants
SCSI_DEVICE_TYPE_*
SCSI_DEVICE_TYPE_DISK = $00;
|
SBC-3 - Direct access block device (e.g., magnetic disk) |
SCSI_DEVICE_TYPE_TAPE = $01;
|
SSC-3 - Sequential-access device (e.g., magnetic tape) |
SCSI_DEVICE_TYPE_PRINTER = $02;
|
SSC - Printer device |
SCSI_DEVICE_TYPE_PROCESSOR = $03;
|
SPC-2 - Processor device |
SCSI_DEVICE_TYPE_WRITE_ONCE = $04;
|
SBC - Write-once device (e.g., some optical disks) |
SCSI_DEVICE_TYPE_CD_DVD = $05;
|
MMC-5 - CD/DVD device |
SCSI_DEVICE_TYPE_SCANNER = $06;
|
Scanner device (obsolete) |
SCSI_DEVICE_TYPE_OPTICAL = $07;
|
SBC - Optical memory device (e.g., some optical disks) |
SCSI_DEVICE_TYPE_CHANGER = $08;
|
SMC-3 - Medium changer device (e.g., jukeboxes) |
SCSI_DEVICE_TYPE_COMMS = $09;
|
Communications device (obsolete) |
SCSI_DEVICE_TYPE_ARRAY = $0C;
|
SCC-2 - Storage array controller device (e.g., RAID) |
SCSI_DEVICE_TYPE_ENCLOSURE = $0D;
|
SES - Enclosure services device |
SCSI_DEVICE_TYPE_RBC = $0E;
|
RBC - Simplified direct-access device (e.g., magnetic disk) |
SCSI_DEVICE_TYPE_CARD = $0F;
|
OCRW - Optical card reader/writer device |
SCSI_DEVICE_TYPE_BRIDGE = $10;
|
BCC - Bridge Controller Commands |
SCSI_DEVICE_TYPE_OBJECT = $11;
|
OSD - Object-based Storage Device |
SCSI_DEVICE_TYPE_AUTOMATION = $12;
|
ADC-2 - Automation/Drive Interface |
SCSI_DEVICE_TYPE_WELL_KNOWN = $1E;
|
Well known logical unit |
SCSI_DEVICE_TYPE_UNKNOWN = $1F;
|
Unknown or no device type |
SCSI inquiry removable media bit constants
SCSI_REMOVABLE_MEDIA_*
SCSI_REMOVABLE_MEDIA_BIT = $80;
|
SCSI request sense data constants
SCSI_REQUEST_SENSE_*
SCSI_REQUEST_SENSE_SIZE = 18;
|
SCSI read capacity data constants
SCSI_READ_CAPACITY_*
SCSI_READ_CAPACITY_SIZE = 8;
|
|
SCSI_READ_CAPACITY_16_SIZE = 32;
|
SCSI read 10 data constants
SCSI_READ_10_*
SCSI_READ_10_MAX_BLOCKS = $FFFF;
|
SCSI write 10 data constants
SCSI_WRITE_10_*
SCSI_WRITE_10_MAX_BLOCKS = $FFFF;
|
SCSI logging constants
SCSI_LOG_*
SCSI_LOG_LEVEL_DEBUG = LOG_LEVEL_DEBUG;
|
SCSI debugging messages |
SCSI_LOG_LEVEL_INFO = LOG_LEVEL_INFO;
|
SCSI informational messages, such as a device being attached or detached |
SCSI_LOG_LEVEL_ERROR = LOG_LEVEL_ERROR;
|
SCSI error messages |
SCSI_LOG_LEVEL_NONE = LOG_LEVEL_NONE;
|
No SCSI messages |
Type definitions
To be documented
Public variables
To be documented
Function declarations
None defined
Return to Unit Reference