Add LIBUSB_TRANSFER_ADD_ZERO_PACKET flag to indicate need for ZLP
authorPeter Stuge <peter@stuge.se>
Wed, 22 Feb 2012 13:21:54 +0000 (14:21 +0100)
committerPeter Stuge <peter@stuge.se>
Wed, 22 Feb 2012 13:21:54 +0000 (14:21 +0100)
commite3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f
tree9e35f48029780e2d8b84bf12ba3e69a785d56286
parent7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada
Add LIBUSB_TRANSFER_ADD_ZERO_PACKET flag to indicate need for ZLP

Some protocols which use USB require an extra zero length data packet
to signal end-of-transfer on bulk endpoints, if the last data packet
is exactly wMaxPacketSize bytes long.

This flag allows applications to inform libusb about this requirement,
so that libusb can handle the issue transparently.

At the moment the new flag is only supported on Linux, and submitting
a transfer with the flag set returns an error at submit time on other
systems. Hopefully implementations will soon follow for other systems.

References #6.
libusb/core.c
libusb/io.c
libusb/libusb.h
libusb/os/darwin_usb.c
libusb/os/linux_usbfs.c
libusb/os/linux_usbfs.h
libusb/os/openbsd_usb.c
libusb/os/windows_usb.c