# 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
…
- 99
- 100
- 101
- 102
- 103
…
- 311
- 312

Macros
Name Description
USBHostGetCurrentConfigurationDescriptor This function returns a pointer to the current configuration descriptor of
the requested device.
USBHostGetDeviceDescriptor This function returns a pointer to the device descriptor of the requested
device.
USBHostGetStringDescriptor This routine initiates a request to obtains the requested string descriptor.
USBHostReadIsochronous This function initiates a read from an isochronous endpoint on the
attached device.
USBHostWriteIsochronous This function initiates a write to an isochronous endpoint on the attached
device.
Module
Embedded Host Stack
Description
1.4.2.1.1.1 USB_HOST_APP_DATA_EVENT_HANDLER Function
This is a typedef to use when defining the application level data events handler.
File
usb_host.h
Syntax
bool USB_HOST_APP_DATA_EVENT_HANDLER(uint8_t address, USB_EVENT event, void * data,
uint32_t size);
Description
This function is implemented by the application. The function name can be anything - the macro
USB_HOST_APP_EVENT_HANDLER must be set in usb_config.h to the name of the application function.
In the application layer, this function is responsible for handling all application-level data events that are generated by the
stack. See the enumeration USB_EVENT for a complete list of all events that can occur. Note that only data events, such as
EVENT_DATA_ISOC_READ, will be passed to this event handler.
If the application can handle the event successfully, the function should return true.
Remarks
If this function is not provided by the application, then all application events are assumed to function without error.
Preconditions
None
Parameters
Parameters Description
uint8_t address Address of the USB device generating the event
USB_EVENT event Event that occurred
void *data Optional pointer to data for the event
uint32_t size Size of the data pointed to by *data
Return Values
Return Values Description
true Event was processed successfully
false Event was not processed successfully
1.4 Library Interface MLA - USB Library Help Embedded Host API
101

- 1
- 2
…
- 99
- 100
- 101
- 102
- 103
…
- 311
- 312