# 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
…
- 180
- 181
- 182
- 183
- 184
…
- 311
- 312

1.4.2.3.2.1 HID_COLLECTION Structure
File
usb_host_hid_parser.h
Syntax
typedef struct _HID_COLLECTION {
uint32_t data;
uint16_t usagePage;
uint8_t firstUsageItem;
uint8_t usageItems;
uint8_t firstReportItem;
uint8_t reportItems;
uint8_t parent;
uint8_t firstChild;
uint8_t nextSibling;
} HID_COLLECTION;
Members
Members Description
uint32_t data; Collection raw data
uint16_t usagePage; Usage page associated with current level of collection
uint8_t firstUsageItem; Index of First Usage Item in the current collection
uint8_t usageItems; Number of Usage Items in the current collection
uint8_t firstReportItem; Index of First report Item in the current collection
uint8_t reportItems; Number of report Items in the current collection
uint8_t parent; Index to Parent collection
uint8_t firstChild; Index to next child collection in the report descriptor
uint8_t nextSibling; Index to next child collection in the report descriptor
Description
HID Collection Details
This structure contains information about each collection encountered in the report descriptor.
1.4.2.3.2.2 HID_DATA_DETAILS Structure
File
usb_host_hid.h
Syntax
typedef struct _HID_DATA_DETAILS {
uint16_t reportLength;
uint16_t reportID;
uint8_t bitOffset;
uint8_t bitLength;
uint8_t count;
uint8_t signExtend;
uint8_t interfaceNum;
} HID_DATA_DETAILS;
Members
Members Description
uint16_t reportLength; reportLength - the expected length of the parent report.
uint16_t reportID; reportID - report ID - the first byte of the parent report.
uint8_t bitOffset; BitOffset - bit offset within the report.
uint8_t bitLength; bitlength - length of the data in bits.
uint8_t count; count - what's left of the message after this data.
1.4 Library Interface MLA - USB Library Help Embedded Host API
182

- 1
- 2
…
- 180
- 181
- 182
- 183
- 184
…
- 311
- 312