# 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
…
- 203
- 204
- 205
- 206
- 207
…
- 311
- 312

1.4.2.4.1.3 USBHostMSDInitialize Function
This function is the initialization routine for this client driver.
File
usb_host_msd.h
Syntax
bool USBHostMSDInitialize(uint8_t address, uint32_t flags, uint8_t clientDriverID);
Description
This function is the initialization routine for this client driver. It is called by the host layer when the USB device is being
enumerated. For a mass storage device, we need to make sure that we have room for a new device, and that the device has
at least one bulk IN and one bulk OUT endpoint.
Remarks
None
Preconditions
None
Parameters
Parameters Description
uint8_t address Address of the new device
uint32_t flags Initialization flags
uint8_t clientDriverID ID to send when issuing a Device Request via
USBHostSendDeviceRequest(),
USBHostSetDeviceConfiguration(), or
USBHostSetDeviceInterface().
Return Values
Return Values Description
true We can support the device.
false We cannot support the device.
Function
bool USBHostMSDInitialize( uint8_t address, uint32_t flags, uint8_t clientDriverID )
1.4.2.4.1.4 USBHostMSDResetDevice Function
This function starts a bulk-only mass storage reset.
File
usb_host_msd.h
Syntax
uint8_t USBHostMSDResetDevice(uint8_t deviceAddress);
Description
This function starts a bulk-only mass storage reset. A reset can be issued only if the device is attached and not being
initialized.
Remarks
None
Preconditions
None
1.4 Library Interface MLA - USB Library Help Embedded Host API
205

- 1
- 2
…
- 203
- 204
- 205
- 206
- 207
…
- 311
- 312