Unit SCSI
From Ultibo.org
Return to Unit Reference
Contents
[hide]Description
Ultibo SCSI interface unit
The SCSI interface unit is device non specific in that it implements only the SCSI protocol.
Actual command transfer is performed by a device specific driver that implements the exact semantics of the device. eg USB Mass Storage devices use the SCSI protocol, the SCSI interface implements the protocol behaviour but the actual command transfer is handled by the USB storage driver.
Constants
[Expand]
SCSI specific constants
SCSI_*
[Expand]
SCSI device type constants
SCSI_TYPE_*
[Expand]
SCSI device state constants
SCSI_STATE_*
[Expand]
SCSI device flag constants
SCSI_FLAG_*
[Expand]
SCSI protocol message constants
SCSI_MESSAGE_*
[Expand]
SCSI protocol status constants
SCSI_STATUS_*
[Expand]
SCSI protocol sense key constants
SCSI_SENSE_*
[Expand]
SCSI protocol additional sense code constants
SCSI_ASC_*
[Expand]
SCSI protocol additional sense code qualifier constants
SCSI_ASCQ_*
[Expand]
SCSI protocol command constants
SCSI_COMMAND_*
[Expand]
SCSI command data constants
SCSI_COMMAND_MAX_*
[Expand]
SCSI service action constants
SCSI_SAI_*
[Expand]
SCSI inquiry data constants
SCSI_INQUIRY_*
[Expand]
SCSI standard inquiry data constants
SCSI_STANDARD_INQUIRY_*
[Expand]
SCSI inquiry peripheral device type constants
SCSI_DEVICE_TYPE_*
[Expand]
SCSI inquiry removable media bit constants
SCSI_REMOVABLE_MEDIA_*
[Expand]
SCSI request sense data constants
SCSI_REQUEST_SENSE_*
[Expand]
SCSI read capacity data constants
SCSI_READ_CAPACITY_*
[Expand]
SCSI read 10 data constants
SCSI_READ_10_*
[Expand]
SCSI write 10 data constants
SCSI_WRITE_10_*
[Expand]
SCSI logging constants
SCSI_LOG_*
Type definitions
To be documented
Public variables
To be documented
Function declarations
Initialization functions
SCSI functions
[Expand]
function SCSIDeviceInquiry(SCSI:PSCSIDevice; var DeviceType,DeviceFlags:LongWord; var Vendor,Product,Revision:PChar):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceRequestSense(SCSI:PSCSIDevice; var SenseKey,ASC,ASCQ:Byte):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceReadCapacity(SCSI:PSCSIDevice; var BlockSize,BlockShift:LongWord; var BlockCount:Int64):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceTestUnitReady(SCSI:PSCSIDevice; var DeviceFlags:LongWord):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceRead10(SCSI:PSCSIDevice; Start:LongWord; Count:Word; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceWrite10(SCSI:PSCSIDevice; Start:LongWord; Count:Word; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceRead16(SCSI:PSCSIDevice; const Start,Count:Int64; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceWrite16(SCSI:PSCSIDevice; const Start,Count:Int64; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceTransport(SCSI:PSCSIDevice; Command:PSCSICommandBlock):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceCreateEx(Size:LongWord):PSCSIDevice;
Description: Create a new SCSI entry
[Expand]
function SCSIDeviceDestroy(SCSI:PSCSIDevice):LongWord;
Description: Destroy an existing SCSI entry
[Expand]
function SCSIDeviceRegister(SCSI:PSCSIDevice):LongWord;
Description: Register a new SCSI in the SCSI table
[Expand]
function SCSIDeviceDeregister(SCSI:PSCSIDevice):LongWord;
Description: Deregister a SCSI from the SCSI table
[Expand]
function SCSIDeviceFindByName(const Name:String):PSCSIDevice; inline;
Description: To be documented
[Expand]
function SCSIDeviceFindByDescription(const Description:String):PSCSIDevice; inline;
Description: To be documented
[Expand]
function SCSIDeviceEnumerate(Callback:TSCSIEnumerate; Data:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIDeviceNotification(SCSI:PSCSIDevice; Callback:TSCSINotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: To be documented
[Expand]
function SCSIHostDestroy(Host:PSCSIHost):LongWord;
Description: Destroy an existing Host entry
[Expand]
function SCSIHostRegister(Host:PSCSIHost):LongWord;
Description: Register a new Host in the Host table
[Expand]
function SCSIHostDeregister(Host:PSCSIHost):LongWord;
Description: Deregister a Host from the Host table
[Expand]
function SCSIHostEnumerate(Callback:TSCSIHostEnumerate; Data:Pointer):LongWord;
Description: To be documented
SCSI helper functions
[Expand]
function SCSIDeviceCheck(SCSI:PSCSIDevice):PSCSIDevice;
Description: Check if the supplied SCSI is in the SCSI table
[Expand]
procedure SCSILog(Level:LongWord;SCSI:PSCSIDevice; const AText:String);
Description: To be documented
[Expand]
procedure SCSILogError(SCSI:PSCSIDevice; const AText:String);
Description: To be documented
[Expand]
procedure SCSILogDebug(SCSI:PSCSIDevice; const AText:String);
Description: To be documented
[Expand]
function SCSIDeviceTypeToStorageType(DeviceType:Byte; Removable,Floppy:Boolean):LongWord;
Description: To be documented
[Expand]
function SCSIHostCheck(Host:PSCSIHost):PSCSIHost;
Description: Check if the supplied Host is in the host table
SCSI storage functions
[Expand]
function SCSIStorageDeviceRead(Storage:PStorageDevice; const Start,Count:Int64; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIStorageDeviceWrite(Storage:PStorageDevice; const Start,Count:Int64; Buffer:Pointer):LongWord;
Description: To be documented
[Expand]
function SCSIStorageDeviceControl(Storage:PStorageDevice; Request:Integer; Argument1,Argument2:LongWord):LongWord;
Description: To be documented
Return to Unit Reference