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

Description
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.
1.4.2.1.2.2 HOST_TRANSFER_DATA Structure
File
usb_host.h
Syntax
typedef struct _HOST_TRANSFER_DATA {
uint32_t dataCount;
uint8_t * pUserData;
uint8_t bEndpointAddress;
uint8_t bErrorCode;
TRANSFER_ATTRIBUTES bmAttributes;
uint8_t clientDriver;
} HOST_TRANSFER_DATA;
Members
Members Description
uint32_t dataCount; Count of bytes transferred.
uint8_t * pUserData; Pointer to transfer data.
uint8_t bEndpointAddress; Transfer endpoint.
uint8_t bErrorCode; Transfer error code.
TRANSFER_ATTRIBUTES bmAttributes; INTERNAL USE ONLY - Endpoint transfer attributes.
uint8_t clientDriver; INTERNAL USE ONLY - Client driver index for sending the
event.
Description
Host Transfer Information
This structure is used when the event handler is used to notify the upper layer of transfer completion.
1.4.2.1.2.3 TRANSFER_ATTRIBUTES Type
File
usb_host.h
Syntax
typedef #warning USB_INITIAL_VBUS_CURRENT is in violation of the USB specification.
#warning USB_INITIAL_VBUS_CURRENT is in violation of the USB specification. union
TRANSFER_ATTRIBUTES@1 TRANSFER_ATTRIBUTES;
Description
This is type TRANSFER_ATTRIBUTES.
1.4.2.1.2.4 USB_CLIENT_EVENT_HANDLER Type
This is a typedef to use when defining a client driver event handler.
File
usb_host.h
1.4 Library Interface MLA - USB Library Help Embedded Host API
123

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