# 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
…
- 128
- 129
- 130
- 131
- 132
…
- 311
- 312

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.
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
Structures
Name Description
_CLIENT_DRIVER_TABLE Client Driver Table Structure
This structure is used to define an entry in the client-driver table. Each
entry provides the information that the Host layer needs to manage a
particular USB client driver, including pointers to the interface routines
that the Client Driver must implement.
_HOST_TRANSFER_DATA Host Transfer Information
This structure is used when the event handler is used to notify the upper
layer of transfer completion.
CLIENT_DRIVER_TABLE Client Driver Table Structure
This structure is used to define an entry in the client-driver table. Each
entry provides the information that the Host layer needs to manage a
particular USB client driver, including pointers to the interface routines
that the Client Driver must implement.
HOST_TRANSFER_DATA Host Transfer Information
This structure is used when the event handler is used to notify the upper
layer of transfer completion.
1.4 Library Interface MLA - USB Library Help Embedded Host API
130

- 1
- 2
…
- 128
- 129
- 130
- 131
- 132
…
- 311
- 312