# 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
…
- 119
- 120
- 121
- 122
- 123
…
- 311
- 312

uint8_t endpoint Endpoint number
ISOCHRONOUS_DATA *pIsochronousData Pointer to an ISOCHRONOUS_DATA structure, containing
information for the application and the host driver for the
isochronous transfer.
Return Values
Return Values Description
USB_SUCCESS Write started successfully.
USB_UNKNOWN_DEVICE Device with the specified address not found.
USB_INVALID_STATE We are not in a normal running state.
USB_ENDPOINT_ILLEGAL_TYPE Must use USBHostControlWrite to write to a control endpoint.
USB_ENDPOINT_ILLEGAL_DIRECTION Must write to an OUT endpoint.
USB_ENDPOINT_STALLED Endpoint is stalled. Must be cleared by the application.
USB_ENDPOINT_ERROR Endpoint has too many errors. Must be cleared by the
application.
USB_ENDPOINT_BUSY A Write is already in progress.
USB_ENDPOINT_NOT_FOUND Invalid endpoint.
Function
uint8_t USBHostWriteIsochronous( uint8_t deviceAddress, uint8_t endpoint,
ISOCHRONOUS_DATA *pIsochronousData )
1.4.2.1.2 Data Types and Constants
Macros
Name Description
INIT_CL_SC_P Set class support in the TPL (non-OTG only).
INIT_VID_PID Set VID/PID support in the TPL.
TPL_ALLOW_HNP Bitmask for Host Negotiation Protocol.
TPL_CLASS_DRV Bitmask for class driver support.
TPL_EP0_ONLY_CUSTOM_DRIVER Bitmask to let a custom driver gain EP0 only and allow other interfaces to
use standard drivers
TPL_IGNORE_CLASS Bitmask for ignoring the class of a CL/SC/P driver
TPL_IGNORE_PID Bitmask for ignoring the PID of a VID/PID driver
TPL_IGNORE_PROTOCOL Bitmask for ignoring the protocol of a CL/SC/P driver
TPL_IGNORE_SUBCLASS Bitmask for ignoring the subclass of a CL/SC/P driver
TPL_SET_CONFIG Bitmask for setting the configuration.
USB_HOST_APP_DATA_EVENT_HANDLER If the application does not provide an event handler, then we will assume
that all events function without error.
USB_HOST_APP_EVENT_HANDLER If the application does not provide an event handler, then we will assume
that all events function without error.
USB_NUM_BULK_NAKS Define how many NAK's are allowed during a bulk transfer before
erroring.
USB_NUM_COMMAND_TRIES During enumeration, define how many times each command will be tried
before giving up and resetting the device.
USB_NUM_CONTROL_NAKS Define how many NAK's are allowed during a control transfer before
erroring.
USB_NUM_ENUMERATION_TRIES Define how many times the host will try to enumerate the device before
giving up and setting the state to DETACHED.
USB_NUM_INTERRUPT_NAKS Define how many NAK's are allowed during an interrupt OUT transfer
before erroring. Interrupt IN transfers that are NAK'd are terminated
without error.
1.4 Library Interface MLA - USB Library Help Embedded Host API
121

- 1
- 2
…
- 119
- 120
- 121
- 122
- 123
…
- 311
- 312