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

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.
Types
Name Description
TRANSFER_ATTRIBUTES This is type TRANSFER_ATTRIBUTES.
USB_CLIENT_EVENT_HANDLER This is a typedef to use when defining a client driver event handler.
USB_CLIENT_INIT This is a typedef to use when defining a client driver initialization handler.
USB_TPL Targeted Peripheral List
This structure is used to define the devices that this host can support. If
the host is a USB Embedded Host or Dual Role Device that does not
support OTG, the TPL may contain both specific devices and generic
classes. If the host supports OTG, then the TPL may contain ONLY
specific devices.
Description
1.4.2.1.2.1 CLIENT_DRIVER_TABLE Structure
File
usb_host.h
Syntax
typedef struct _CLIENT_DRIVER_TABLE {
USB_CLIENT_INIT Initialize;
USB_CLIENT_EVENT_HANDLER EventHandler;
USB_CLIENT_EVENT_HANDLER DataEventHandler;
uint32_t flags;
} CLIENT_DRIVER_TABLE;
Members
Members Description
USB_CLIENT_INIT Initialize; Initialization routine
USB_CLIENT_EVENT_HANDLER EventHandler; Event routine
USB_CLIENT_EVENT_HANDLER DataEventHandler; Data Event routine
uint32_t flags; Initialization flags
1.4 Library Interface MLA - USB Library Help Embedded Host API
122

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