# 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
…
- 188
- 189
- 190
- 191
- 192
…
- 311
- 312

Description
Report Descriptor Information
This structure contains top level information of the report descriptor. This information is important and is used to understand
the information during th ecourse of parsing. This structure also stores temporary data needed during parsing the report
descriptor. All of this information may not be of much inportance to the application.
1.4.2.3.2.15 USB_HID_ITEM_LIST Structure
File
usb_host_hid_parser.h
Syntax
typedef struct _USB_HID_ITEM_LIST {
HID_COLLECTION * collectionList;
HID_DESIGITEM * designatorItemList;
HID_GLOBALS * globalsStack;
HID_REPORTITEM * reportItemList;
HID_REPORT * reportList;
HID_STRINGITEM * stringItemList;
HID_USAGEITEM * usageItemList;
uint8_t * collectionStack;
} USB_HID_ITEM_LIST;
Members
Members Description
HID_COLLECTION * collectionList; List of collections, see HID_COLLECTION for details in the
structure
HID_DESIGITEM * designatorItemList; List of designator Items, see HID_DESIGITEM for details in
the structure
HID_GLOBALS * globalsStack; List of global Items, see HID_GLOBALS for details in the
structure
HID_REPORTITEM * reportItemList; List of report Items, see HID_REPORTITEM for details in the
structure
HID_REPORT * reportList; List of reports , see HID_REPORT for details in the structure
HID_STRINGITEM * stringItemList; List of string item , see HID_STRINGITEM for details in the
structure
HID_USAGEITEM * usageItemList; List of Usage item , see HID_USAGEITEM for details in the
structure
uint8_t * collectionStack; stores the array of parents ids for the collection
Description
List of Items
This structure contains array of pointers to all the Items in the report descriptor. HID parser will populate the lists while
parsing the report descriptor. This data is used by interface functions provided in file usb_host_hid_interface.c to retrive data
from the report received from the device. Application can also access these details to retreive the intended information
incase provided interface function fail to do so.
1.4.2.3.2.16 USB_HID_RPT_DESC_ERROR Enumeration
File
usb_host_hid_parser.h
Syntax
typedef enum {
HID_ERR = 0,
HID_ERR_NotEnoughMemory,
HID_ERR_NullPointer,
1.4 Library Interface MLA - USB Library Help Embedded Host API
190

- 1
- 2
…
- 188
- 189
- 190
- 191
- 192
…
- 311
- 312