History log of /external/libusb/include/libusb/libusb.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a283c3b5a3dce8f6f33331b9aa1d95d41c8f241c 20-Feb-2016 Steinar H. Gunderson <sesse@google.com> Add support for persistent device memory.

Add a function to allocate memory belonging to a specific device,
so that the operating system can DMA straight into it for zerocopy,
and also avoid some clearing. Also, this allows up-front memory
allocation in the kernel at program startup; memory allocation is
otherwise done per-transfer, which can fail in a system where memory has become
fragmented over time).

This mirrors new functionality going into Linux' USB stack (recently
reviewed and acked upstream); only Linux is supported as a backend
currently.

[Chris Dickens] Modified to fix doxygen documentation, correct parameter
naming, reposition function declarations, and address a missing request
during the patch review process.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
7ee92df12adb8015451aaecfeccd7dd62cc2314e 24-Feb-2016 Chris Dickens <christopher.a.dickens@gmail.com> Misc: Prefix doxygen references in order to namespace libusb

This change add "libusb_" to every group and page definition (and
updates all references accordingly) so that generated man pages
are namespaced for libusb, thus avoiding possible conflict with
other packages.

Closes #131

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
8a0c14372f98d56529556f18126a42fda2ab0137 24-Feb-2016 Chris Dickens <christopher.a.dickens@gmail.com> Misc: Make API parameter names consistent and sensible

Prior to this commit, API functions taking a libusb_device_handle
argument had the parameter named dev, handle, or dev_handle. This
commit changes the name of all libusb_device_handle parameters to
dev_handle in both the documentation and actual code.

Closes #132

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
16ddfe1ddc487d30c71420c9135f149751cf45d5 25-Sep-2015 Tobias Klauser <tklauser@distanz.ch> Misc: Spelling fixes

Fix spelling errors found by codespell, some of them in API
documentation and user visible messages.

Closes #102

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
a6db382ad11f7662b550338e0570d5a2dfd8ce5a 10-Dec-2015 Chris Dickens <christopher.a.dickens@gmail.com> API: Add libusb_interrupt_event_handler() function

This new function will allow the user to purposely interrupt an
event handling thread, causing it to return from the event handling
function. This is mainly useful for cleanly exiting from a dedicated
event handling thread during application shutdown.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
a4d2cb89b0c4f10f6c0cc02a2657cbaa94135470 01-Mar-2015 Chris Dickens <christopher.a.dickens@gmail.com> API: Add libusb_free_pollfds() function

This patch adds a new API call to ensure that the same memory
allocator is used to both allocate and free the list of libusb_pollfd
structures. It is an incorrect assumption that the user's free() will
use the same memory allocator that libusb uses internally.

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
260ff885cdbe793f836aef667444302c327616ab 13-May-2015 Tobias Klauser <tklauser@distanz.ch> Misc: Fix doxygen comment for MaxPower field with respect to super-speed

The MaxPower field of a configuration descriptor is in units of 8 mA
when the device is operating in super-speed mode according to the USB
3.0 specification, section 9.6.3, table 9-12:

Maximum power consumption of the device from the
bus in this specific configuration when the device is
fully operational. Expressed in 2-mA units when the
device is operating in high-speed mode and in 8-mA
units when operating at Gen X speed.
(i.e., 50 = 100 mA when operating at high-speed and
50 = 400 mA when operating at Gen X speed).

Adjust the doxygen comment for the MaxPower member of struct
libusb_config_descriptor accordingly.

Closes #69

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
998e83a1cddd8f5ef873454f412cac676ccbd3d9 01-Mar-2015 Chris Dickens <christopher.a.dickens@gmail.com> Misc: Remove comment that no longer makes sense

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
b000fe1821dceb5e19fc811a6ee2b977205d4034 13-Feb-2015 orbitcowboy <ettl.martin78@gmail.com> misc: fix typos in comments

* Closes #53
/external/libusb/libusb/libusb.h
127e0c3e22e64d752b2ad9091400e921f0f623b7 13-Jan-2015 Chris Dickens <christopher.a.dickens@gmail.com> hotplug: Provide a default enum value for libusb_hotplug_flag

* Closes #35

Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
/external/libusb/libusb/libusb.h
e82c9b2b46828ef590a66ab5a8aa629ddfacbfe2 16-Dec-2014 Ludovic Rousseau <ludovic.rousseau@gmail.com> API: remove unused libusb_hotplug_callback struct

The structure libusb_hotplug_callback was declared (but not defined) and
never used in the public API.
/external/libusb/libusb/libusb.h
dc97425bb415422423b8876af0e34111e566d56d 24-Sep-2014 Akshay Jaggi <akshay1994.leo@gmail.com> haiku: Add Haiku support
/external/libusb/libusb/libusb.h
6d8dfe0aee41a3c7dd862c3de488df3ce452d86e 11-Sep-2013 Hans de Goede <hdegoede@redhat.com> Add API for using bulk streams

Being able to allocate bulk-streams is not really useful if the user cannot
specify the stream ids when submitting transfers.

The actual stream id gets added to our private itransfer struct, and a setter +
getter are added to get to it. Unfortunately this is the only way to add
support for stream ids without breaking ABI. So this is another item to fix
when we do break ABI in libusb-2.0.

Bulk streams also use a separate transer type, to allow backends to determine
if a transfer is a bulk stream transfer or an ordinary bulk transfer. This is
added because there is no other reliable way to determine if a transfer is
a stream as the stream_id is part of the private itransfer struct so apps
re-using a transfer may not set it to 0. Adding a separate transfer-type
for this was suggested (and coded) by Nathan Hjelm.

Most users will likely use the new libusb_fill_bulk_stream_transfer()
though, and will never know the difference.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
0504375ea965dd25f00d4828a19c329b7e7525d4 11-Sep-2013 Hans de Goede <hdegoede@redhat.com> Add API for allocating / freeing usb3 bulk streams + Linux implementation

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
1eff220474f63d7ea7f8f99bef2a3da9da5324eb 09-Jan-2014 hjelmn@cs.unm.edu <hjelmn@cs.unm.edu> Misc: Revert all references to libusb/libusb.info
/external/libusb/libusb/libusb.h
30747cee3f6d7dc4a98490c24fc9b8536ae79e51 06-Dec-2013 Ludovic Rousseau <ludovic.rousseau+github@gmail.com> core: fix Doxygen warning

libusbx/libusb/libusb.h:153: warning: no matching file member found for
libusb_cpu_to_le16()Possible candidates:
static uint16_t libusb_cpu_to_le16(const uint16_t x)

Thanks to Serhat Sevki Dincer for the bug report
http://sourceforge.net/mailarchive/message.php?msg_id=31719691
/external/libusb/libusb/libusb.h
c089900c486e94b067e4d30ef9047a80cbb6d689 01-Jul-2013 Paul Fertser <fercerpav@gmail.com> Clarify alignment requirements for the control transfer buffer

Since the buffer pointer will later be casted to ``struct
libusb_control_setup *'', it should point to memory aligned to at least
2 bytes boundary as that's the strictest requirement of the struct fields.

Also, use a (void *) casting trick to convince the compiler the cast is
safe, to fix warnings such as:

/usr/local/include/libusb-1.0/libusb.h: In function 'libusb_control_transfer_get_setup':
/usr/local/include/libusb-1.0/libusb.h:1435:9: error: cast increases required alignment of target type [-Werror=cast-align]
/usr/local/include/libusb-1.0/libusb.h: In function 'libusb_fill_control_setup':
/usr/local/include/libusb-1.0/libusb.h:1464:39: error: cast increases required alignment of target type [-Werror=cast-align]
/usr/local/include/libusb-1.0/libusb.h: In function 'libusb_fill_control_transfer':
/usr/local/include/libusb-1.0/libusb.h:1509:39: error: cast increases required alignment of target type [-Werror=cast-align]
cc1: all warnings being treated as errors

This actually can lead to failure to build from the sources for certain
projects which use -Werror=cast-align on ARM.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
a06eafdc528d5f3ea21a26c34ceaa13e09dfd4f3 21-Aug-2013 Hans de Goede <hdegoede@redhat.com> hotplug: Document LIBUSB_HOTPLUG_ENUMERATE gotchas

When libusb_hotplug_register_callback gets called with the
LIBUSB_HOTPLUG_ENUMERATE flag, there may still be hotplug events pending
in the hotplug pipe, waiting for dispatching from libusb_handle_events.

This means that the user callback can be called twice for arrival of the
same device, once from libusb_hotplug_register_callback, since the device
is already part of the usb_devs list, and once from libusb_handle_events
when it reads the event from the hotplug pipe.

This could be fixed by adding a mechanism to pause hotplug handling, then
drain the hotplug pipe (ie by calling libusb_handle_events from
libusb_hotplug_register_callback), before iterating over the usb_devs list,
and then un-pausing hotplug handling afterwards, doing this however requires
a lot of hairy code, which will be prone to dead-locking.

OTOH it is quite simple for user applications which care about this to detect
this and ignore the 2nd call, so lets simply document this may happen and
be done with it.

Note that this is also the solution which ie libudev has choosen, there is
no way with libudev to get a device-list + listen for device arrival / removal
without running into the same problem.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
ea6c827af035b279fd6bbbcc2e8093766ed57367 26-Jul-2013 Sean McBride <sean@rogue-research.com> fixed some clang -Wdocumentation warnings from bad doxygen markup
/external/libusb/libusb/libusb.h
b4c18fac65a594502eec5edd2611d5953e7950f7 03-Jul-2013 Pete Batard <pete@akeo.ie> Doc: update hotplug, topology and descriptor documentation

* Also fix some typos
* Closes #95
/external/libusb/libusb/libusb.h
88828bd7c8323cefe307e4e9856daf7e9812d4d5 17-Jun-2013 Luca Longinotti <l@longi.li> Fix several -Wconversion warnings from GCC inside the static inline functions.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
fc51f19341af70508b94c06ff763842b396ea72e 13-Jun-2013 Hans de Goede <hdegoede@redhat.com> libusb: Add auto-detach-kernel-driver functionality

Add auto-detach-kernel-driver functionality, and a
libusb_set_auto_detach_kernel_driver() function.

Note that I went with a libusb_set_auto_detach_kernel_driver() function,
rather then with a libusb_enable_auto_detach_kernel_driver(), so that apps
can also disable it again. This is necessary to handle 2 corner cases:

1) When an app wants to do a libusb_set_configuration after claiming 1 or
more interfaces, it needs to first release the interface(s), and in this
case libusb_release_interface() should *not* (re-)attach the kernel driver

2) Some usb classes use multiple interfaces for one function, ie usb-audio
devices do this. In this case attaching the driver will fail until all
interfaces are released, so the app should first release all interfaces, and
only then (re-)attach the kernel driver.

auto-detach-kernel-driver functionality is still useful for these apps, since
doing libusb_detach_kernel_driver() followed by libusb_claim_interface() in
2 separate calls is inherently racy, but they need to be able to disable the
auto-detach functionality before releasing interfaces to be able to properly
handle the 2 described corner cases.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
511ed18228dd097dfe6d5c6fd926eaea24435f64 07-Jun-2013 Hans de Goede <hdegoede@redhat.com> Core: Add a libusb_strerror() function

This patch adds the much requested libusb_strerror() function, taking into
account all issues people raised wrt previous attempts.

Criteria / Decisions underlying this implementation:
- Must support translated messages
- Must not use gettext as that does not work well in combination with Windows
(when building with Visual C, or for Windows CE)
- API compatible with FreeBSD and various patched libusb-s floating around
- KISS:
- Do not add any (other) library dependencies
- Do not try to deal with message encodings (iconv), simply always return UTF-8
making encoding the problem of the application using libusb_strerror.
- Defaults to English, so apps which don't want translated messages,
don't need to do anything special
- Defaults to English (with pure ASCII messages), so apps which don't
call libusb_setlocale() don't need to worry about encoding
/external/libusb/libusb/libusb.h
d7b796f1fe3d0aeee3ab2fc717eac38fec8d5caa 27-May-2013 Hans de Goede <hdegoede@redhat.com> Add BOS descriptor support

Based on earlier work done on this by Maya Erez <merez@codeaurora.org>,
Nathan Hjelm <hjelmn@me.com> and Pete Batard <pete@akeo.ie>.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
ef698c633d2ecb597be58deccfa2795cc6c88e25 27-May-2013 Hans de Goede <hdegoede@redhat.com> Add superspeed endpoint companion descriptor support

Based on earlier work done on this by Maya Erez <merez@codeaurora.org>,
Nathan Hjelm <hjelmn@me.com> and Pete Batard <pete@akeo.ie>.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
4d7789be7e317fb2e89557f959c1a1a69cc01b26 17-May-2013 Hans de Goede <hdegoede@redhat.com> core: Add a new public libusb_get_port_numbers function

This new function replaces the now deprecated libusb_get_port_path function,
as that is the only function operating on a libusb_device which also takes
a libusb_context, which is rather inconsistent.

Note we will keep libusb_get_port_path around in the 1.0.x for the forseeable
future for ABI compatibility reasons, but it should not be used in any new
code.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
86031e26ad8c1516ded02a06834312951a7a0492 15-May-2013 Hans de Goede <hdegoede@redhat.com> Bump LIBUSBX_API_VERSION for new hotplug API

And document the minimum version under which hotplug is supported

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
7801ff94fa6e49fe98433eccc7f2e461590a6f7c 29-Nov-2012 Nathan Hjelm <hjelmn@me.com> Add hotplug support.

The internal API is changing as follows:
- Adding two new functions. usbi_connect_device, and usbi_disconnect_device.
Backends must call these functions to add them to the context's device list
at one of two places: initial enumeration (done at init), and on device
attach and removal. These functions need to be called once per context.
- Backends that support hotplug should not provide a get_device_list funtion.
This function is now deprecated and will likely be removed once all backends
support hotplug.

The external API is changing as follows:
- Two new functions have been added to register and deregister callbacks for
hotplug notification: libusb_hotplug_register_callback(),
libusb_hotplug_deregister_callback(). Hotplug callbacks are called by
libusb_handle_events(). Details of the new API can be found in libusb.h.
- A new capability check has been added to check for hotplug support. See
LIBUSB_CAP_HAS_HOTPLUG.

Aa suggested by Xiaofan add new example has been added to show how to use
the new external hotplug API. See examples/hotplugtest.c.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
2790e8f2b0f24381d5c9a89368ecea4ab95db8de 23-Apr-2013 Hans de Goede <hdegoede@redhat.com> libusb.h: Correct errors in doxygen comment for struct libusb_device

The comment refers to the non-existing libusb_device_ref and
libusb_device_unref functions, this should be libusb_ref_device resp.
libusb_unref_device.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
e0628c566a3fb928baab9e4359760cdc5afe5e95 17-Mar-2013 Pete Batard <pete@akeo.ie> Core: Add HID and kernel detach capability detection for all backends

* Also remove Linux special case from xusb sample.
* Note that LIBUSBX_API_VERSION is incremented as a result of
libusb_has_capability() returning nonzero rather than 1 when
a capability is supported.
* A LIBUSB_CAP_HAS_HOTPLUG is also added, though it is currently
not implemented on any platform
* Closes #102
/external/libusb/libusb/libusb.h
0ded9c126e9b48b5ed217e60d392cfb882cbc351 27-Feb-2013 Pete Batard <pete@akeo.ie> Misc: Simplify includes and misc. cleanup

* fxload sample provenance
* No need for <sys/types.h> in samples as already in libusb.h
* Don't bother about sscanf_s in xusb
* Use HAVE_### and rely on config.h where possible
* Formal inclusion of <winsock.h> in libusb.h for WinCE and WDK
* Cleanup of Windows' config.h
* Avoid ENAMETOOLONG and ENOTEMPTY conflict between errno.h and winsock.h for WinCE
* Additional newlines & braces cleanup
/external/libusb/libusb/libusb.h
244271931a782028fd9bc1cdcdb12200f65cf8d9 16-Jan-2013 Toby Gray <toby.gray@realvnc.com> WinCE: Add support for WinCE (sources)
/external/libusb/libusb/libusb.h
f17d190f0f737b55230062ab5e601ed7fcdd2f02 25-Sep-2012 Pete Batard <pete@akeo.ie> libusbx-1.0.14
/external/libusb/libusb/libusb.h
517f9827c469ec8ef793a9a20a50f1fcc0f53079 16-Sep-2012 Pete Batard <pete@akeo.ie> Doc: Fix doxygen warnings and issues

* Remove obsolete tags
* Use QUIET = yes to make issues more prominent
* Fix code display for LIBUSBX_API_VERSION and missing parameter
documentation for libusb_get_port_path()
* Most of the above suggested by Ludovic Rousseau
/external/libusb/libusb/libusb.h
9d368fc4774344d81ab02840f3a8478301bfb6fa 16-Sep-2012 Pete Batard <pete@akeo.ie> Core: Introduce LIBUSBX_API_VERSION macro

* This macro can be used to detect if the version of libusbx being
compiled against has a specific API feature, as well as to detect
whether compilation occurs against libusb or libusbx.
/external/libusb/libusb/libusb.h
75b94b24cf2a7b082b7fe1d493ebbdc3c999f910 15-Sep-2012 Hans de Goede <hdegoede@redhat.com> Core: Make libusb_error_name also handle transfer status codes

Note that for the code 0 which means success resp. completed we have an
overlap in the codes. This is not a problem since normally one would not
call libusb_error_name on success / normal completion.
/external/libusb/libusb/libusb.h
3f513b62467d1842ec0771aaec01fde2f57bfb9c 06-Sep-2012 Pete Batard <pete@akeo.ie> Core: Update libusb.h header in accordance with the latest USB specs

* IMPORTANT: This update fixes a typo in the API where MaxPower was being
used instead of bMaxPower, with the latter being what is actually in
the specs.
* As a result, applications that were using MaxPower need to be updated
for bMaxPower.
* If you must maintain compatibility with libusb or older versions of
libusbx, you may also want to either use a #define or copy/paste
struct libusb_config_descriptor from libusb.h under a new name, and
then use a cast on calls that require it. For more info, see the
1.0.13 release notes in the NEWS file.
* Also update copyright notice
/external/libusb/libusb/libusb.h
c86fb21a3b5e787975ead14afc46960492365282 19-Aug-2012 Anthony Clay, ZarthCode LLC <anthony.clay@zarthcode.com> Windows: Fix C4005 warning under VS2012 for inline.

* Changed inline macro to not fire when using Visual Studio/C++,
which attempts to redefine the macro - resulting in a C4005 warning.
/external/libusb/libusb/libusb.h
7ec94a45ed8155e7a1d4d5d75575099b09c78834 03-Jul-2012 Pete Batard <pete@akeo.ie> Core: Prefix LOG_LEVEL_ with LIBUSB_ to avoid conflicts

* The LOG_LEVEL_ enums, that were moved to the public API
in 933a319469bcccc962031c989e39d9d1f44f2885 may conflict
with applications/headers that also define their own
LOG_LEVEL_ values internally.
* As a matter of fact, as per Trac #31, this produces a
conflict with libusb-compat, as it defines its own levels.
/external/libusb/libusb/libusb.h
933a319469bcccc962031c989e39d9d1f44f2885 24-May-2012 Pete Batard <pete@akeo.ie> Core: Define log levels in libusb.h

* Also update xusb sample to use these levels
/external/libusb/libusb/libusb.h
cfb8610242394d532778a483570089c2bed52c84 10-May-2012 Pete Batard <pete@akeo.ie> All: Add parent and port topology calls

* Adds libusb_get_port_number, libusb_get_parent and libusb_get_port_path
* Linux implementation provided by Alan Stern, OS X by Nathan Hjelm
* Unsupported for *BSD platforms
/external/libusb/libusb/libusb.h
a544e5972bf2b0ac9e006439576f681a8439d311 23-May-2012 Pete Batard <pete@akeo.ie> Misc: Ensure all sources are UTF-8

* Also remove extra lines at the end of samples
/external/libusb/libusb/libusb.h
00d61a396c2e579caed927bcfae692e66f4dccc7 26-Apr-2012 Pete Batard <pete@akeo.ie> Core: update version struct for ABI compatibility

* Adds a static string for describe
* Also update version documentation
/external/libusb/libusb/libusb.h
37dfd16c8c2f36c81c86de303072def0dc405e32 10-Apr-2012 Pete Batard <pete@akeo.ie> Core: Add get_version() call

* Also some formatting/typo improvements
/external/libusb/libusb/libusb.h
b49cfaec7806719ce7787c20a7574007488d26a3 03-Apr-2012 Pete Batard <pete@akeo.ie> Misc: Fix missing libsub's -> libusbx's from previous patches
/external/libusb/libusb/libusb.h
791b7473ec38155ee3d1d9889f3d0f1b4c8f33f0 03-Apr-2012 Pete Batard <pete@akeo.ie> Misc: Rebrand to libusbx

* Mentions of 'libusb' in doxygen are changed to 'libusbx'
* Also update copyright notices and remove unneeded EOF LFs
/external/libusb/libusb/libusb.h
e3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f 22-Feb-2012 Peter Stuge <peter@stuge.se> 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.
/external/libusb/libusb/libusb.h
7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada 19-Feb-2012 Peter Stuge <peter@stuge.se> libusb.h: Add comma after last value in enums to ease future expansion
/external/libusb/libusb/libusb.h
bb37939ab44a54a054f73e2f381808b12fb9cb33 03-Aug-2010 Michael Plante <michael.plante@gmail.com> libusb.h: Cast in libusb_get_string_descriptor() to avoid MSVC6 warning

On MSVC6 bitwise OR promotes to int, causing the warning.
/external/libusb/libusb/libusb.h
fdbac8971212bda3a42feeeaeb92fd8e49c7e904 18-Sep-2011 Pete Batard <pete@akeo.ie> Windows: Add uint32_t typedef for old MSC so that DDK can build lsusb
/external/libusb/libusb/libusb.h
1b0f758a334d78d3832d17d694ac0c931da36050 14-Sep-2011 Peter Stuge <peter@stuge.se> Add libusb_error_name() API function

Until we have i18ned error messages we can at least offer easy
translation from numeric error code to the error code's name.

[hansg: switch() on enum to get a compiler warning if a case is missing]
[hansg: Better return value when called with an unknown error code]
[hansg: Fix DEFAULT_VISIBILITY in definition to compile on all platforms]
/external/libusb/libusb/libusb.h
e16805130a04b2642891e86b8f479e6343ca17da 14-Sep-2011 Peter Stuge <peter@stuge.se> Add libusb_has_capability() API function

Since it is currently not planned to change the filename of the libusb
library between libusb-1.0 versions at least on Windows systems it's
important to have a capability API.

Currently there exists only one capability; LIBUSB_CAP_HAS_CAPABILITY,
which tests support for the libusb_has_capability() API.
/external/libusb/libusb/libusb.h
6696512aade99bb15d6792af90ae329af270eba6 10-Sep-2011 Graeme Gill <graeme2@argyllcms.com> Fix #56 race condition causing delayed completion of sync transfers

The sync API had a race where it would check a condition to know if it
needed to call a libusb_handle_events() function. However, the check
was done outside of the lock that is held while the condition is set,
so another thread could completely serve whatever was needed to make
the condition true between it being checked and the event handler being
called. This situation would be detected after a libusb-internal timeout
of 60 seconds, after which the transfer would be completed without
error, but with significant delay.

Original patch at http://marc.info/?l=libusb-devel&m=127252114815709

Changes by Hans de Goede:
- Renamed the "race-proof" functions from libusb_handle_events*_check()
to libusb_handle_events*_completed()
- Drop r = 0 setting in libusb_handle_events_timeout_completed()
(to make both completed checking cases identical flow wise)

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[stuge: Simplify libusb_handle_events_timeout() change with a goto]
[pbatard: Fix _handle_events_timeout() and _completed() definitions]
/external/libusb/libusb/libusb.h
d1bd234f7e1b1ff4168b8f605e2038e87a0e361f 22-Jul-2011 Nathan Hjelm <hjelmn@me.com> Fix #64 use of reserved identifiers throughout libusb
/external/libusb/libusb/libusb.h
c8c40bcbd22abca922ff31c4ed6a75fd7af78b59 17-Feb-2011 Hans de Goede <hdegoede@redhat.com> Add new API function libusb_get_device_speed()

Reworked version of my earlier patch, largely modelled after (if not
copy and pasted from) Trygve Laugstøl's <trygvis@inamo.no> similar
commit 5a6541e0d80fb1f21e2b960bc2337a612f9d74fb in
git://git.libusb.org/libusb-trygvis.git
http://git.libusb.org/libusb-trygvis.git
http://git.libusb.org/?p=libusb-trygvis.git;a=commitdiff;h=5a6541e0d

This patch does not add any OS specific code. The supporting code in
each backend follows in separate patches. References #45.

Signed-off-By: Hans de Goede <hdegoede@redhat.com>
/external/libusb/libusb/libusb.h
d3543e9140536a9751811b44f8496489be1e6bb7 13-Jun-2011 Peter Stuge <peter@stuge.se> libusb.h: Add missing LIBUSB_CLASS_ codes currently defined by usb.org

LIBUSB_CLASS_PHYSICAL
LIBUSB_CLASS_SMART_CARD
LIBUSB_CLASS_CONTENT_SECURITY
LIBUSB_CLASS_VIDEO
LIBUSB_CLASS_PERSONAL_HEALTHCARE
LIBUSB_CLASS_DIAGNOSTIC_DEVICE

Per http://www.usb.org/developers/defined_class
/external/libusb/libusb/libusb.h
08bc7ffb6a3b65afc6795cd048a890ee8da7d954 13-Jun-2011 Peter Stuge <peter@stuge.se> libusb.h: Add LIBUSB_CLASS_IMAGE in addition to LIBUSB_CLASS_PTP

The old LIBUSB_CLASS_PTP name is kept for compatibility. Fixes #106.
/external/libusb/libusb/libusb.h
3d7938d85a33cd98553c0c898a8dd0490826b077 13-Jun-2011 Peter Stuge <peter@stuge.se> libusb.h: Fix LIBUSB_CLASS_PRINTER description typo

References #106.
/external/libusb/libusb/libusb.h
c1e75431418cdfc10ec963d823fce479cdae6840 10-May-2011 Pete Batard <pbatard@gmail.com> Windows: MS project files part 1 - support files & preliminaries

* adds the MSVC support files used by MSVC6, VS2005 and WDK
* also adds missing defines required by MS compilers in libusb.h
* also anticipatory sets .gitattributes for CRLF handling
* also adds manually maintained .def file for import lib generation

References #57.
/external/libusb/libusb/libusb.h
4be84ab49c838d534d3a1b8a64ffa89774984ee7 27-Feb-2011 Peter Stuge <peter@stuge.se> Revert libusb_strerror() until we have i18n and l10n
/external/libusb/libusb/libusb.h
29f9f9e3af3340df6a955881a93caf9d2a6d08d6 13-Aug-2010 Pete Batard <pbatard@gmail.com> Introduced calling convention (for Windows)

Under Windows, a variety of compilers and configurations are available,
meaning that the manner of parameter passing (e.g. registers vs stack)
can vary.

Match the Windows API calling convention and document this appropriately.
This calling convention will be used regardless of the configuration of
the user's development platform.

The only user-level complication is that all functions used as libusb
callbacks must use the same calling convention as libusb. The
LIBUSB_CALL macro is provided to make this easy.

Signed-off-by: Michael Plante <michael.plante@gmail.com>
Signed-off-by: Pete Batard <pbatard@gmail.com>
[dsd: slight change of strategy, add documentation]
/external/libusb/libusb/libusb.h
fe5d1d2050f715ffa8cbd35a378ac969a1a01584 30-Jul-2010 Xiaofan Chen <xiaofanc@gmail.com> Fix inconsistencies between prototypes and definitions

This removes some warnings on cygwin regarding a name clash against
the standard library "index" function.
/external/libusb/libusb/libusb.h
9a4249f8a104b98a15a7e3ba7ecae9a385ed9027 11-Jul-2010 Pete Batard <pbatard@gmail.com> Add Windows support

Via Cygwin/MinGW, libusb now has windows support.
Thanks to contributors: Michael Plante, Orin Eman, Peter Stuge,
Stephan Meyer, Xiaofan Chen.
/external/libusb/libusb/libusb.h
7211aba6e290f9805e911959b2a43a4b3ec56d4f 25-Jun-2010 Daniel Drake <dan@reactivated.net> Only include sys/time.h on appropriate platforms

This header doesn't exist on windows.
For libusb, determine at configure-time if the header is available.
For libusb.h, use gcc predefined macros to only include the header
on platforms that need it.
/external/libusb/libusb/libusb.h
8aceb5c99056aaed6e6f2db1b303817e37e9fe8c 15-Feb-2010 Pete Batard <pbatard@gmail.com> Rename all interface parameters to usb_interface or interface_number

Remove the use of the ambiguous "interface" where possible without
breaking the API.
'interface' is a preprocessor #define already associated with COM on Windows,
that can cause a conflict as soon as windows.h is included.

There are a few more places where interface is still used, which should
be changed for libusb-2.0
/external/libusb/libusb/libusb.h
d7031ee8e1c449af23b2674fe18d9fc652c9bd80 18-May-2010 Pete Batard <pbatard@gmail.com> Stricter types and casts
/external/libusb/libusb/libusb.h
7ba92cff94bbba19284749c614c26141d3023f37 29-Jan-2010 Hans Ulrich Niedermann <hun@n-dimensional.de> libusb_cpu_to_le16: macro->static inline function

The libusb_cpu_to_le16 macro was a ({ ... }) expression, which
generates the following compiler warning every time it is used,
(and that is several times for every #include <libusb.h>):

libusb.h:880: warning: ISO C forbids braced-groups within expressions

With this patch, #include <libusb.h> stops generating compiler
warnings on gcc 4.4.

As libusb.h heavily relies on the use of static inline functions
those can be relied on to work properly, and there should not be
any significant difference in the code the compiler generates.
/external/libusb/libusb/libusb.h
3473ac6c6fab32202d02d87679ebdb24e7d2df98 09-Mar-2010 Francesco <francesco.montorsi@gmail.com> Add libusb_strerror() to get short error message in English from enum

[dsd: small tweaks]
/external/libusb/libusb/libusb.h
cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5 08-Mar-2010 Bastien Nocera <hadess@hadess.net> Add more interface classes

As used in bluez.
/external/libusb/libusb/libusb.h
f796c9528a71aa55326b6f0c9c7c5ec073d2bf92 25-Oct-2009 Ludovic Rousseau <rousseau@debian.org> Add libusb_get_max_iso_packet_size() to libusb.h

core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
/external/libusb/libusb/libusb.h
4783008b7e711de9cb31631e60dda995f44068de 28-Oct-2009 Daniel Drake <dsd@gentoo.org> Use timerfd for timeout handling

Use a new file descriptor from the timerfd system calls to handle
timeouts. On supported systems, this means that there is less hassle
figuring out when the poll() timeout should be, since
libusb_get_next_timeout() will always return 0 and the timeout events will
be triggered as regular activity on the file descriptor set.

Add API function libusb_pollfds_handle_timeouts() to detect whether
you're on a platform with the timing headache, and flesh out the
surrounding documentation.
/external/libusb/libusb/libusb.h
d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f 14-Jun-2009 Daniel Drake <dsd@gentoo.org> Don't terminate enums with commas

g++ -pedantic doesn't like this
Reported by Eberhard Mattes
/external/libusb/libusb/libusb.h
2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b 07-Jun-2009 Daniel Drake <dsd@gentoo.org> Eliminate -Wsign-compare compiler warnings

This was due to an API inconsistency which can be safely worked around.
Hopefully we'll remember to fix the API next time we come to break
things.
/external/libusb/libusb/libusb.h
d859158581e9a3250f36cdeeb8ea67cda04053bd 17-Feb-2009 Nathan Hjelm <hjelmn@mac.com> Make endianness macros endian-independent

Implementation suggested by David Moore. Needed for proper universal
code support on Darwin.
/external/libusb/libusb/libusb.h
894539931e4b4bd85708fe98b956049243cd6fb0 26-Jan-2009 Hans Ulrich Niedermann <hun@n-dimensional.de> API docs: describe libusb_transfer_cb_fn type

Add some text describing the libusb_transfer_cb_fn function type
with the semantics I have gathered from reading other parts of
the API docs, referring to the proper section for more details.

[dsd: tweaked the description slightly]
/external/libusb/libusb/libusb.h
abe34a2656f8f9f21e53603796c536585e6233ef 25-Jan-2009 Hans Ulrich Niedermann <hun@n-dimensional.de> Make empty array in struct compatible with C99

If the compiler is known to be running in C99 mode,
use "flexible array members" ("foo[]").

If the compiler is running in any other mode, continue
using the non-standard but widely common "foo[0]" syntax.
/external/libusb/libusb/libusb.h
b1d636dde418dc8fe6a8f037dea0d800e57c6b94 10-Dec-2008 Mikhail Gusarov <dottedmag@dottedmag.ent> EOL-whitespace fixes

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
/external/libusb/libusb/libusb.h
9b4b53453db56ba9c1d707a645bbe6c7a02a3c81 21-Nov-2008 Daniel Drake <dsd@gentoo.org> Improvements to multi-threaded I/O system

Documentation brushed up, and I realised that another function is
needed for tight event handling loops -- they must be able to check
if an open/close operation is trying to interrupt it.
/external/libusb/libusb/libusb.h
1d7cf3d0fa8698eae25097cbda1870be90ff6f5e 30-Oct-2008 Bastien Nocera <hadess@hadess.net> Add libusb_attach_kernel_driver()

Add support for re-attaching a driver to a device under Linux.

[dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
/external/libusb/libusb/libusb.h
94936cbcfe3f02eb65c8b91e29896604316259d8 28-Aug-2008 Daniel Drake <dsd@gentoo.org> Async I/O documentation touchups
/external/libusb/libusb/libusb.h
81627bd38900ec9701ab69c141aa51a9abea1f60 11-Aug-2008 Daniel Drake <dsd@gentoo.org> Add libusb_get_configuration prototype

Pointed out by Lou
/external/libusb/libusb/libusb.h
819e65f880ca43526036e56c65c415042c91f58f 27-Jun-2008 Daniel Drake <dsd@gentoo.org> Allow user data pointer to be passed through pollfd notification API
/external/libusb/libusb/libusb.h
1df713d622ab4f0b03aad72d903ac7beb8fb3b90 25-Jun-2008 Daniel Drake <dsd@gentoo.org> Introduce contexts to the API

Suggested by David Zeuthen. This allows multiple libraries in the same
process to independently use libusb without interfering.
/external/libusb/libusb/libusb.h
d5f82893fab3f1c13b1af4ba17aac72479bad7d5 21-Jun-2008 Daniel Drake <dsd@gentoo.org> Overflow handling
/external/libusb/libusb/libusb.h
7c525480ab3c4db9205bfe30bb0d2bef9096c444 23-May-2008 Daniel Drake <dsd@gentoo.org> Implement serialization of event handlers

Now offers a mechanism to wait for events while another thread is
doing the event handling. Complicates things for MT async apps, but
then again it's a bit of a tricky combination to start with.
/external/libusb/libusb/libusb.h
4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1 23-May-2008 Daniel Drake <dsd@gentoo.org> don't print messages by default

Add libusb_set_debug() API to set message verbosity.

Ludovic Rousseau pointed out that applications may close stdout/stderr
descriptors, which might then be reused.
/external/libusb/libusb/libusb.h
eb25630f52bc9848b444e439632c899977d887b0 17-May-2008 Daniel Drake <dsd@gentoo.org> More informative libusb_open() return code

Hopefully one of the last API tweaks...
/external/libusb/libusb/libusb.h
fec7c84163e25b8f811632828334d75da82bcb16 11-May-2008 Daniel Drake <dsd@gentoo.org> Handle hot-unplugging

This involved moving from select() to poll() because there is no way to
distinguish usbfs's POLLERR condition with select().
/external/libusb/libusb/libusb.h
aeb905fa5d78cdbba80a680aa7a2bb7338f27f65 11-May-2008 Daniel Drake <dsd@gentoo.org> Documentation work
/external/libusb/libusb/libusb.h
ba5d9a45c06311204f51faef41d1ee215bb5b823 11-May-2008 Daniel Drake <dsd@gentoo.org> Endianness of control setup packets

Document behaviour where host-endian and bus-endian (little) should be
used respectively.

Also remove packed attribute from libusb_control_setup as all fields
are naturally aligned.
/external/libusb/libusb/libusb.h
f2ede9876cd4f5cfa7751b975670fa449187fe3d 10-May-2008 Daniel Drake <dsd@gentoo.org> Support unconfigured devices
/external/libusb/libusb/libusb.h
c3844f7aeb2176636ce6e6ef697659fdb0b30048 10-May-2008 Daniel Drake <dsd@gentoo.org> Fetch configurations by index (not value)

Otherwise there is no way to know which values to look for.
/external/libusb/libusb/libusb.h
fe4adcc99e30115204ab832ad3e0170c9aca7629 09-May-2008 Daniel Drake <dsd@gentoo.org> Rework configuration handling

libusb no longer caches descriptors in libusb_device but backends are
intended to be able to provide copies from memory. In the common linux
case we can use sysfs.
/external/libusb/libusb/libusb.h
5741bfe01a2481b8c3830c80edc3637bf62a7e16 09-May-2008 Daniel Drake <dsd@gentoo.org> libusb_get_device_list() can return negative error code
/external/libusb/libusb/libusb.h
885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5 05-May-2008 Daniel Drake <dsd@gentoo.org> documentation touchups
/external/libusb/libusb/libusb.h
88055d4b5913102a90ff666f75fd922c74860dc5 05-May-2008 Daniel Drake <dsd@gentoo.org> Isochronous transfer helper functions
/external/libusb/libusb/libusb.h
a304eca71f22c6df7d70a901483b30f1b8e93378 05-May-2008 Daniel Drake <dsd@gentoo.org> Detect endpoint halts and unsupported control requests
/external/libusb/libusb/libusb.h
470b1bc42bf53373ce678fc76bab9160a54d6881 04-May-2008 Daniel Drake <dsd@gentoo.org> add functionality for querying and detaching kernel driver
/external/libusb/libusb/libusb.h
17ecfb0ecc833596c43755c80d461cddb9b3b0d7 04-May-2008 Daniel Drake <dsd@gentoo.org> Descriptor reading functionality
/external/libusb/libusb/libusb.h
bdce367d1bd8691465844b2411c85215498f517d 04-May-2008 Daniel Drake <dsd@gentoo.org> sanitized error returns from synchronous I/O functions
/external/libusb/libusb/libusb.h
bfe74e9cd9c17a40fff042ea0647326f51cfecae 04-May-2008 Daniel Drake <dsd@gentoo.org> implement libusb_reset_device()
/external/libusb/libusb/libusb.h
c01f744ce07bbeccbe353e956479f0cc5a811a6f 04-May-2008 Daniel Drake <dsd@gentoo.org> Add functionality to clear endpoint halt conditions
/external/libusb/libusb/libusb.h
5878daa85e3364bb3885190425d4f9deaa2d8c36 04-May-2008 Daniel Drake <dsd@gentoo.org> Fix libusb_get_device_list return value

It was documented to return the list length, but was returning 0.
/external/libusb/libusb/libusb.h
a74106a9b48b88bae0e099be34a18d653a8f1238 03-May-2008 Daniel Drake <dsd@gentoo.org> Well-defined error codes for some operations

Also renamed set_interface_altsetting to set_interface_alt_setting for
better consistency
/external/libusb/libusb/libusb.h
0f463fe671455670efcf4a93e526b2a9082b0afe 03-May-2008 Daniel Drake <dsd@gentoo.org> Add libusb_set_configuration()
/external/libusb/libusb/libusb.h
e65608994f795f97e4d6adac20329ca08709db2d 03-May-2008 Daniel Drake <dsd@gentoo.org> rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
improves consistency
/external/libusb/libusb/libusb.h
1936eeeba3f933a078df1005cc7c1533a8ec2bac 03-May-2008 Daniel Drake <dsd@gentoo.org> Rename reference counting API

This improves consistency with the naming style of other functions
/external/libusb/libusb/libusb.h
81204eed3d0a7744b89b68bd90d567b68d191a91 02-May-2008 Daniel Drake <dsd@gentoo.org> document pollfd notifiers
/external/libusb/libusb/libusb.h
e20f8281fb7da32587f81b5eea5818af1eab0fe0 02-May-2008 Daniel Drake <dsd@gentoo.org> Allow multiple interfaces to be claimed
/external/libusb/libusb/libusb.h
66685ff25d81a1f1a2a3dbda882d407638d00672 02-May-2008 Daniel Drake <dsd@gentoo.org> Documentation improvements
/external/libusb/libusb/libusb.h
3675e978fb7a1042f8601931255658bcd14a2298 02-May-2008 Daniel Drake <dsd@gentoo.org> Expose bus number and device address
/external/libusb/libusb/libusb.h
2012898ffc492317cb428d97077bf5ee0e98e1da 29-Apr-2008 Daniel Drake <dsd@gentoo.org> standardised error codes
/external/libusb/libusb/libusb.h
d3ab4e3bd4068cba41c1e12c4b175018dc3cb343 28-Apr-2008 Daniel Drake <dsd@gentoo.org> Rename endpoint_type to transfer_type

Matches the USB specs more closely
/external/libusb/libusb/libusb.h
379e90e0fdcef6f4db1849fa0a7fd524407cf564 28-Apr-2008 Daniel Drake <dsd@gentoo.org> Remove a FIXME comment

it can't.
/external/libusb/libusb/libusb.h
7ac0a405b4c57db42e88cbcba5f135697f03b646 28-Apr-2008 Daniel Drake <dsd@gentoo.org> Remove libusb_cancel_transfer_sync

This wasn't a particularly nice API. Cancellation should be handled by
the completion handler.
/external/libusb/libusb/libusb.h
cf9b831f7bfd97ba88721c1d934aeda522f3692c 14-Apr-2008 Daniel Drake <dsd@gentoo.org> set correct endpoint type for isochronous transfers

Pointed out by Felix Domke
/external/libusb/libusb/libusb.h
d9b2ce2894ed43d34de6850f2dac50ccabf1db55 02-Apr-2008 Daniel Drake <dsd@gentoo.org> Constify some return data

Make it clear that apps should not mess with these structures
/external/libusb/libusb/libusb.h
8d809854e2b19c2b7c27ab05e5d76b34e2a5cead 30-Mar-2008 Daniel Drake <dsd@gentoo.org> Rename libusb_poll() to libusb_handle_events()
/external/libusb/libusb/libusb.h
211f80c9f2a4a58cd2bbf5b7751f45089c8961e7 25-Mar-2008 Daniel Drake <dsd@gentoo.org> Isochronous endpoint I/O

Due to variable-sized structures, this involved changing allocation
mechanism. All transfers must now be allocated and freed through
libusb.

A synchronous function is missing, and I could do with writing a few
more helper functions to simplify things.
/external/libusb/libusb/libusb.h
62077b7fa5b222e1bb9dea3467585aed69d596e2 23-Mar-2008 Daniel Drake <dsd@gentoo.org> Support for changing altsetting

Will probably be suject to later consideration w.r.t. claiming of endpoints
/external/libusb/libusb/libusb.h
0499e9f418607b5786ac0c3e97bc46737a609ca3 20-Mar-2008 Daniel Drake <dsd@gentoo.org> it's called bmRequestType
/external/libusb/libusb/libusb.h
88884ae4bbe721dac117d5190303cb67852fa5d3 20-Mar-2008 Daniel Drake <dsd@gentoo.org> Save transfer flags before invoking callback

The callback may free the transfer, in which case we can't read the flags
after it has returned.
/external/libusb/libusb/libusb.h
ead09cde6895df0034a685516987ce253575e9a7 15-Mar-2008 Daniel Drake <dsd@gentoo.org> API documentation

Hopefully mostly complete. Some constants were renamed and move into
enums.
/external/libusb/libusb/libusb.h
c0c9432d38b22784070dce3a7874c62c31786a27 13-Mar-2008 Daniel Drake <dsd@gentoo.org> Beginnings of cross-platform abstraction

This also includes a libusb_get_pollfds API change
/external/libusb/libusb/libusb.h
de4c5341d168697baa4c0901c406deb47e78aae7 10-Mar-2008 Daniel Drake <dsd@gentoo.org> Add transfer flags
/external/libusb/libusb/libusb.h
aae05f688dc26a013166ab9436fd25018b49d76a 10-Mar-2008 Daniel Drake <dsd@gentoo.org> Simplify libusb_fill_control_transfer()

Transfer length can be inferred from the setup packet.
/external/libusb/libusb/libusb.h
7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb 10-Mar-2008 Daniel Drake <dsd@gentoo.org> get_device fixup

Rename API away from "devh" and fix implementation to match header
/external/libusb/libusb/libusb.h
9e89d1aa82cbe7e21672ee3e2e545238fffc5318 09-Mar-2008 Daniel Drake <dsd@gentoo.org> Rename descriptor-getting functions

Based on feedback from Tim Roberts
/external/libusb/libusb/libusb.h
283ae96c3ccbcee1c3950fce18ae47093ae8200e 09-Mar-2008 Daniel Drake <dsd@gentoo.org> Simplify cancellation API

No need to provide the device here.
/external/libusb/libusb/libusb.h
ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad 09-Mar-2008 Daniel Drake <dsd@gentoo.org> Rename libusb_dev_handle to libusb_device_handle
/external/libusb/libusb/libusb.h
66348c90ea4570bf999ac301089e006d0cce1926 09-Mar-2008 Daniel Drake <dsd@gentoo.org> Separate transfer allocation and submission

Leads to some hefty API changes. Now we're much more similar to the
Linux kernel model.

Problems with dealing with asynchronous control transfers are passed
on to the user, basically you must allocate a buffer, start with the
setup, and put the data after. This won't make much sense until
documented (soon...)
/external/libusb/libusb/libusb.h
d21ebe47ce578c93cd8969be1c933d503e32e5d4 08-Mar-2008 Daniel Drake <dsd@gentoo.org> Rework URB API naming

Now refer to everything as "transfers" as consistent with the USB spec
libusb_transfer is now a kind of transfer handle. To reduce confusion
with libusb_bulk_transfer and libusb_control_transfer, those have been
renamed to libusb_{control,bulk}_transfer_request.
/external/libusb/libusb/libusb.h
23f8fb8bafeeda93ce234cb40eb7219d2e36c19c 07-Mar-2008 Daniel Drake <dsd@gentoo.org> Add convenience function to find and open a device by USB VID+PID

Lots of libusb apps I write are simple test apps not intended to be real
apps. Having a function available to quickly locate my device will be
handy in such situations.
/external/libusb/libusb/libusb.h
9cfdb494fccac53a4277da7c8b6d15f1a72a4959 07-Mar-2008 Daniel Drake <dsd@gentoo.org> Rework device discovery API

libusb_find_devices and libusb_get_devices are no more

libusb_get_device_list obtains a list of libusb_device structures for all
known devices in the system.

Each libusb_device now has a reference count, defaulting to 1 on
instantiation. The reference count of 1 refers to the fact that it is
present in the list in this scenario.

Opening a device adds a pointer to the libusb_device structure in the
handle, so that also adds a reference. Closing the device removes that
reference.

The function to free the device list can optionally unref all the devices
inside.

In future we will make the libusb_device instances all "global" so that if
the app calls get_device_list twice it actually gets the same libusb_device
structure references back. This way we can start to track disconnects, and
we can investigate adding a unique "session ID" to each libusb_device, an
identifier guaranteed to be unique to that device until reboot.
/external/libusb/libusb/libusb.h
b873521a6f575628d535f89278bb67888004d0ca 26-Feb-2008 Daniel Drake <dsd@gentoo.org> Notifications for changes to the fd set

Applications can now be notified when they should start and stop polling
new file descriptors.
/external/libusb/libusb/libusb.h
637a8d7ff8a11a23588925d9d3003a609bda8075 30-Jan-2008 Daniel Drake <dsd@gentoo.org> Remove timers and signalfd

Instead of timers, add a mechanism for informing the parent app when the
next timeout is due to happen, so that it can call us at that time.

As we no longer use signals, signalfd has also been removed.
/external/libusb/libusb/libusb.h
8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac 26-Jan-2008 Daniel Drake <dsd@gentoo.org> Poll usbfs descriptors directly

We don't need to use signalfd for this functionality because we can poll
the file descriptors for write events.
/external/libusb/libusb/libusb.h
1d41a5cda2fefe826877ee4445199af30aa188b7 26-Jan-2008 Daniel Drake <dsd@gentoo.org> C++ header safety

Pointed out by JF
/external/libusb/libusb/libusb.h
e3a09ca0b9cb6f46d54a0130f678c6097240a2bd 05-Jan-2008 Daniel Drake <dsd@gentoo.org> Remove more fpusb remnants
/external/libusb/libusb/libusb.h
de53d972ed9c1f21f86ffd585560520e986f212c 04-Jan-2008 Daniel Drake <dsd@gentoo.org> Rename some _devh_ functions

Decided against naming functions in this style based on advice from
Tim Roberts. Still not really sure about devh naming in general.
/external/libusb/libusb/libusb.h
132d84bf8ae34bd0892b3d8207a53d87cc0a9cba 04-Jan-2008 Daniel Drake <dsd@gentoo.org> Use "transfer" instead of "msg"

Based on a discussion with Tim Roberts.
/external/libusb/libusb/libusb.h
dbb3fd871e3972b4e670f3161e7cd2f58f357600 04-Jan-2008 Daniel Drake <dsd@gentoo.org> API renaming: remove fpi and usb_ stuff

fpi changed to usbi.

We should not expose structures with prefix "usb_" in the public
namespace as it is quite likely there will be some conflict somewhere.
Instead, using "libusb_" should be safer.
/external/libusb/libusb/libusb.h
e9364d72151ae1de9cce4175f330fe1529f02511 04-Jan-2008 Daniel Drake <dsd@gentoo.org> Rename to libusb-1.0

I've taken over the libusb project, and what was previously known as fpusb
will eventually be released as libusb-1.0.
/external/libusb/libusb/libusb.h