# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- USB Library

20 December, 2013

- 1
- 2
…
- 208
- 209
- 210
- 211
- 212
…
- 311
- 312

Return Values
Return Values Description
USB_SUCCESS Request started successfully
USB_MSD_DEVICE_NOT_FOUND No device with specified address
USB_MSD_DEVICE_BUSY Device not in proper state for performing a transfer
USB_MSD_INVALID_LUN Specified LUN does not exist
Function
uint8_t USBHostMSDWrite( uint8_t deviceAddress, uint8_t deviceLUN, uint8_t *commandBlock,
uint8_t commandBlockLength, uint8_t *data, uint32_t dataLength );
1.4.2.4.2 Data Types and Constants
Macros
Name Description
DEVICE_CLASS_MASS_STORAGE Class code for Mass Storage.
DEVICE_INTERFACE_PROTOCOL_BULK_ONLY Protocol code for Bulk-only mass storage.
DEVICE_SUBCLASS_CD_DVD SubClass code for a CD/DVD drive (not supported).
DEVICE_SUBCLASS_FLOPPY_INTERFACE SubClass code for a floppy disk interface (not supported).
DEVICE_SUBCLASS_RBC SubClass code for Reduced Block Commands (not supported).
DEVICE_SUBCLASS_REMOVABLE SubClass code for removable media (not supported).
DEVICE_SUBCLASS_SCSI SubClass code for a SCSI interface device (supported).
DEVICE_SUBCLASS_TAPE_DRIVE SubClass code for a tape drive (not supported).
EVENT_MSD_ATTACH MSD device has attached
EVENT_MSD_MAX_LUN Set maximum LUN for the device
EVENT_MSD_NONE No event occured (NULL event)
EVENT_MSD_OFFSET If the application has not defined an offset for MSD events, set it to 0.
EVENT_MSD_RESET MSD reset complete
EVENT_MSD_TRANSFER A MSD transfer has completed
MSD_COMMAND_FAILED Transfer failed. Returned in dCSWStatus.
MSD_COMMAND_PASSED Transfer was successful. Returned in dCSWStatus.
MSD_PHASE_ERROR Transfer phase error. Returned in dCSWStatus.
USB_MSD_CBW_ERROR The CBW was not transferred successfully.
USB_MSD_COMMAND_FAILED Command failed at the device.
USB_MSD_COMMAND_PASSED Command was successful.
USB_MSD_CSW_ERROR The CSW was not transferred successfully.
USB_MSD_DEVICE_BUSY A transfer is currently in progress.
USB_MSD_DEVICE_DETACHED Device is detached.
USB_MSD_DEVICE_NOT_FOUND Device with the specified address is not available.
USB_MSD_ERROR Error code offset.
USB_MSD_ERROR_STATE Device is holding due to a MSD error.
USB_MSD_ILLEGAL_REQUEST Cannot perform requested operation.
USB_MSD_INITIALIZING Device is initializing.
USB_MSD_INVALID_LUN Invalid LUN specified.
USB_MSD_MEDIA_INTERFACE_ERROR The media interface layer cannot support the device.
USB_MSD_NORMAL_RUNNING Device is running and available for data transfers.
USB_MSD_OUT_OF_MEMORY No dynamic memory is available.
USB_MSD_PHASE_ERROR Command had a phase error at the device.
1.4 Library Interface MLA - USB Library Help Embedded Host API
210

- 1
- 2
…
- 208
- 209
- 210
- 211
- 212
…
- 311
- 312