Crate scsi

Source
Expand description

A crate for both interacting with SCSI devices as a host and for writing new SCSI device software/firmware.

Currently the main focus of this crate is Bulk Only USB Mass Storage Device compatibility, since that comprises a significant chunk of use cases. However, more functionality can be requested and/or PRed as necessary or desired.

Modules§

scsi
Contains implementations for the different SCSI commands and responses, as well as helper utilities to, for example, treat the SCSI device as a normal block devies.

Structs§

ScsiError
A general error struct for the package.

Enums§

ErrorCause
The cause of a returned error. This is implemented as an enum with a large number of variants to reduce allocations.
UsbTransferDirection
The direction that the USB transfer was going when it errored.

Traits§

BufferPullable
Allows for a struct to deserialize itself from a raw byte buffer.
BufferPushable
Allows a struct to serialize itself to a raw byte buffer.
CommunicationChannel
The trait that all communication devices should implement if they are to be used to transfer SCSI information.