# 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
…
- 58
- 59
- 60
- 61
- 62
…
- 311
- 312

Parameters
Parameters Description
ep The endpoint number you want to receive the data on.
data Pointer to a user buffer where the data will go when
it arrives from the host. Note This RAM must be USB module accessible.
len The len parameter should always be set to the maximum
endpoint packet size, specified in the USB descriptor for this
endpoint. The host may send <= the number of bytes as the
endpoint size in the endpoint descriptor. After the transaction
is complete, the application firmware can call
USBHandleGetLength() to determine how many bytes the
host actually sent in the last transaction on this endpoint.
Return Values
Return Values Description
USB_HANDLE Returns a pointer to the BDT entry associated with the
transaction. The firmware can check for completion of the
transaction by using the USBHandleBusy() function, using
the returned USB_HANDLE value.
Function
USB_HANDLE USBRxOnePacket(uint8_t ep, uint8_t* data, uint16_t len)
1.4.1.1.1.29 USBSoftDetach Function
This function performs a detach from the USB bus via software.
File
usb_device.h
Syntax
void USBSoftDetach();
Returns
None
Description
This function performs a detach from the USB bus via software.
Remarks
Caution should be used when detaching from the bus. Some PC drivers and programs may require additional time after a
detach before a device can be reattached to the bus.
Preconditions
None
Function
void USBSoftDetach(void);
1.4.1.1.1.30 USBStallEndpoint Function
Configures the specified endpoint to send STALL to the host, the next time the host tries to access the endpoint.
1.4 Library Interface MLA - USB Library Help Device/Peripheral
60

- 1
- 2
…
- 58
- 59
- 60
- 61
- 62
…
- 311
- 312