# 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
…
- 46
- 47
- 48
- 49
- 50
…
- 311
- 312

USBMSDInit();
}
In the above example endpoint number MSD_DATA_IN_EP is being configured for both IN and OUT traffic with
handshaking enabled. Also since MSD_DATA_IN_EP is not endpoint 0 (MSD does not allow this), then we can explicitly
disable SETUP packets on this endpoint.
Remarks
None
Preconditions
None
Parameters
Parameters Description
uint8_t ep the endpoint to be configured
uint8_t options optional settings for the endpoint. The options should be
ORed together to form a single options string. The available
optional settings for the endpoint. The options should be
ORed together to form a single options string. The available
options are the following:
• USB_HANDSHAKE_ENABLED enables USB
handshaking (ACK, NAK)
• USB_HANDSHAKE_DISABLED disables USB
handshaking (ACK, NAK)
• USB_OUT_ENABLED enables the out direction
• USB_OUT_DISABLED disables the out direction
• USB_IN_ENABLED enables the in direction
• USB_IN_DISABLED disables the in direction
• USB_ALLOW_SETUP enables control transfers
• USB_DISALLOW_SETUP disables control transfers
• USB_STALL_ENDPOINT STALLs this endpoint
Function
void USBEnableEndpoint(uint8_t ep, uint8_t options)
1.4.1.1.1.13 USBEP0Receive Function
Sets the destination, size, and a function to call on the completion of the next control write.
File
usb_device.h
Syntax
void USBEP0Receive(uint8_t* dest, uint16_t size, void (*function));
Remarks
None
Preconditions
None
1.4 Library Interface MLA - USB Library Help Device/Peripheral
48

- 1
- 2
…
- 46
- 47
- 48
- 49
- 50
…
- 311
- 312