commit ab9cd5a7be637f7b793987971a706b1d11c27ded
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 08:10:11 2012 +0200

    libusb-1.0.9

commit 696400ad83531bcf944c71164a46f9ccb6a33df3
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 08:08:34 2012 +0200

    AUTHORS: Update list of contributors

commit 19f94537ea55586dd85f8d627fcfaa6173069ea1
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 06:41:34 2012 +0200

    AUTHORS: Add Martin Pieuchot as copyright holder

commit 1a1c633d7912a2565f6af0c9294e10a759d40e05
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 06:41:12 2012 +0200

    AUTHORS: Add Hans de Goede as copyright holder

commit 9477f793341d59cc861acb283e6cb03b5730ac91
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 06:40:45 2012 +0200

    AUTHORS: Add Peter Stuge as copyright holder

commit 4b0dfe9770356af3c51103a9b3d63c5f8cc63d8b
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Apr 2 15:47:53 2012 +0100

    AUTHORS: Update Pete Batard's copyright years and email address
    
    libusbx.git commit f98eaca0985364be00fcfde3fd3884075092a4e9
    
    [stuge: Remove unrelated changes]

commit 9f0ea78357b7b1654cb3e7de6ff57f5f378b68f1
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 08:35:04 2012 +0200

    AUTHORS: Update Nathan Hjelm's copyright years

commit 8d38506ebc9fb57a40113e5a7739572a42b826d8
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 06:36:08 2012 +0200

    README: Add the BSDs, punctuation, mailinglist link, and remove Daniel

commit 05cbe2de45806db309343cdf298d8569c55863e5
Author: James Hanko <james.hanko@tridentmicro.com>
Date:   Wed Oct 19 17:32:34 2011 -0700

    Linux: Search for /dev/usbdev<bus>.<device> USB device special files
    
    If neither the (now deprecated) usbfs filesystem nor udev is available
    then libusb searches for device nodes also in /dev where they may be
    created if the kernel was built with the option CONFIG_USB_DEVICE_CLASS.
    This helps on embedded systems such as Android, and all mdev users.
    
    Fixes #119.

commit a806d169e6b5f675289cb9307fcd6b908edd9219
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 04:32:47 2012 +0200

    Add a timestamp in log messages
    
    Fixes #34.

commit 03f4d40c748506c85f88427dd53afd5c663a2929
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 02:24:44 2012 +0200

    Include library version in the very first libusb_init() debug message

commit 84d5eafd1f24a1c6f77f0c2a2ad40e1fbfdea381
Author: Martin Pieuchot <mpi@openbsd.org>
Date:   Thu Apr 19 13:33:36 2012 +0200

    OpenBSD: Provide libusb_get_device_speed() data
    
    Because the different speed values used by the libusb and OpenBSD's
    usb_device_info structure are compatible, keep the code simple and
    just copy the value returned by the USB_GET_DEVICEINFO ioctl() call.
    
    Fixes #45.

commit c145ec09732fac2eef53accc07314040d22b64a5
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Apr 20 00:11:01 2012 +0200

    doc/Makefile.am: Remove username from SF web rsync upload command
    
    Commit c407a2d97b6f8715d3452257a0adac40a20178e6 did it for tarballs.
    
    libusbx.git commit ca159f15737e9097a4d031c9950f281c42af040a

commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:30:24 2012 +0100

    Windows: Remove #define compile time options in the backend source code
    
    * The DYNAMIC_FDS, AUTO_CLAIM and FORCE_INSTANT_TIMEOUTS options
      were introduced for development/testing and don't appear to be
      used by the Windows backend users => remove them.
    
    libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159

commit e291e369b975692dfa1a0f029244af597fa61220
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:05:37 2012 +0100

    Windows: Warn on one libusb_get_device_list() memory allocation failure
    
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b

commit 2f40a03ea0552cd8b5ce3d7667b20dc04da061da
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:05:37 2012 +0100

    Windows: Add textual error name to debug message on auto-release errors
    
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b

commit 3c7f85a49b42ac36c6d41294858518c554ac4694
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:05:37 2012 +0100

    Windows: Silence warning about unused function guid_to_string()
    
    Commit 6b1982b1bd321b55698ce537e64648e8aec85f6f removed the #ifdef
    around guid_to_string() but this ended up causing a warning when
    the function wasn't being called. Add it back with correct _MSC_VER.
    
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
    
    [stuge: Rewrite commit message for libusb.git]

commit eb55963a6b33799ea76c34f538f21e86f235ea62
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:05:37 2012 +0100

    Windows: Base DUMMY_HANDLE on LONG_PTR instead of LONG
    
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b

commit d930865987de523061eca259a7fed11aea626831
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Apr 10 13:05:37 2012 +0100

    Windows: Prefer calloc() over malloc() and cast all allocations
    
    This silences VS2010 intellisense warnings on memory allocation.
    
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b

commit df35117ce58b74fa530baaaccc30adaf432398ea
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Apr 19 22:55:44 2012 +0200

    Add libusb_get_version() API function
    
    Let's see how this will be used. Fixes #53.
    
    libusbx.git commit 37dfd16c8c2f36c81c86de303072def0dc405e32
    
    [stuge: Remove unrelated changes]
    [stuge: Add struct libusb_version member rc for release candidate suffix]
    [stuge: Add struct libusb_version member describe for git describe output]

commit 29d5f63c5765f36ea65b55c4cd5f36e1f10a4dae
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Apr 19 22:25:07 2012 +0200

    Windows: Rename VS2005 solution and add VS2010 project files
    
    libusbx.git commit fcad0941e52eb2fd6d57d3327f420db14dfabf0b
    
    [stuge: Remove xusb references]
    [stuge: Add newlines at end of new files]
    [stuge: Rename libusb_20??.sln to libusb_vs20??.sln]

commit b217ec1f904c4382010a3a834a7c58d595b594cf
Author: Pete Batard <pete@akeo.ie>
Date:   Sat Mar 31 22:32:56 2012 +0100

    libusb/Makefile.am: Fix missing DLL .def file from make dist
    
    libusbx.git commit 10dc1ea9a799b13b7423968130da812aa97289bf
    
    [stuge: Use EXTRA_DIST in libusb/Makefile.am instead]

commit 54cb51d8417e0128eb9088bf628db138c9daa2a0
Author: Pete Batard <pete@akeo.ie>
Date:   Sat Mar 31 22:14:47 2012 +0100

    Makefile.am: Fix msvc dir not being included in make dist
    
    libusbx.git commit a8a80b60a14e3a8269e42dedf34fda66da8e0e50

commit 38d5ba472c6cb728ec818a0c8d964b632c8a7992
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 30 13:40:32 2012 +0100

    Linux: Don't spam the console with 'device unconfigured' errors
    
    libusbx.git commit 3c968be61befc47d33562843e5479ff67303b0c4

commit 93f14087b2e79d71ba1e53c0b9c7da655dd1258e
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Thu Apr 19 05:52:58 2012 -0600

    Darwin: Silence warning: cast from pointer to integer of different size
    
    As per http://marc.info/?m=133483651109899
    
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>

commit 0efc2086646200d8dee86cbbb1e98136383a05c3
Author: Pete Batard <pete@akeo.ie>
Date:   Thu Mar 29 23:21:25 2012 +0100

    .gitattributes: Add export-ignore for .gitattributs and .gitignore
    
    This keeps the git files out of archives created by gitweb.
    
    libusbx.git commit 2250152b251243f75c951533ae7b1139a785cfe6
    
    [stuge: Removed unrelated whitespace changes]

commit a7ef55c02f0116b94cb75831e5d90ad258c662f8
Author: Pete Batard <pete@akeo.ie>
Date:   Wed Mar 28 01:02:02 2012 +0100

    Windows: fix Clang warnings about unused assignations
    
    libusbx.git commit c0e7b289fdb35687b90263b14426319d2b96b132

commit ac8eed67e1595ee5a069623e48362d8a85dcb252
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Mar 26 23:34:25 2012 +0100

    configure.ac: LT_LANG([Windows Resource]) makes windres check redundant
    
    libusbx.git commit 4f9fd6a29a712b0e3312983e9ff153e6d7ed0822

commit 89ce6f7d05dc8ff4a441a01b192d2e20857f6c48
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Mar 27 00:03:07 2012 +0100

    Windows: Bring .vcproj x86_64 output directories in line with x86_32
    
    libusbx.git commit abdb4437ea1897226076fa706651e350dba1cfd5

commit 77743c6f5b3cfa2d06dcb32204bc65d8bd4fec80
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:11 2012 +0100

    Linux: Fix a comment in handle_iso_completion()
    
    Fix the comment at the end of handle_iso_completion, we don't stop on
    urbs / isoc packets with less data then requested, which is a good
    thing since it is a normal condition for isoc transfers.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 5b87c2c7475a8d68270e19336afec0c5a08579ca
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:10 2012 +0100

    Linux: Remove bogus status handling from handle_iso_completion()
    
    Remove a useless check+set of status because:
    1. The check is always true; and
    2. The new value is never used
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit e23d8f67eab947e5d41216e0139f0a50d1342ef8
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:09 2012 +0100

    Linux: Translate isoc packet status codes to LIBUSB_TRANSFER_ codes
    
    During testing of my usbredir code I hit a scenario where my libusb
    app was seeing EXDEV as status in the transfer's iso_packet_desc.
    
    This happened because we didn't translate linux negative errno errors
    in each isoc packet's status to LIBUSB_TRANSFER_ status codes! This
    patch adds these translations.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 7199bc2c9c351b553b6175a588237ee793719281
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:08 2012 +0100

    Linux: Fix URB return code handling
    
    During testing of my usbredir code I hit a case where EOVERFLOW was not
    handled in handle_control_completion(). Instead of just fixing this one
    case I've audited (and fixed where necessary) all handle_foo_completion()
    functions to know about all errors documented in
    linux/Documentation/usb/error-codes.txt.
    
    Note that for handle_iso_completion() this patch actually removes the
    handling of some codes, since these can never occur on an iso urb (they
    can only occur on the iso packets included in the urb, see the next patch
    in this series). Also, in case an unknown status is encountered on an iso
    urb this patch sets the urb's status to ERROR rather then leaving it at
    completed.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 98bc7b8d125c2756deadfc889dcefd4e6f2fcd02
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:07 2012 +0100

    Don't print an error when libusb_cancel_transfer() fails with NOT_FOUND
    
    As stated in the documentation for libusb_cancel_transfer(),
    LIBUSB_ERROR_NOT_FOUND is an expected return value for
    libusb_cancel_transfer() under certain circumstances, so
    printing an error every time this happens is undesirable.
    
    Even more so because under Linux IOCTL_USBFS_DISCARDURB sets errno
    to EINVAL when the kernel can't not find the urb in the kernel's
    urbs-in-flight list, which means that the urb has already completed
    at the host controller level but it has not necessarily been reaped
    yet. IOW under Linux libusb_cancel_transfer() may yield a result of
    LIBUSB_ERROR_NOT_FOUND *before* the transfer's callback has been
    called! In conclusion there is no way for applications to avoid
    calling libusb_cancel_transfer() on already completed transfers,
    and these errors can and do happen frequently for some USB traffic.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 4db8275da59996eb1c22d2e9e9c527fa58b288ad
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Fri Mar 9 11:31:06 2012 +0100

    Linux: Fix cancel_transfer return value when cancelling a multi-urb transfer
    
    If we fail to cancel the last urb of a multi-urb transfer because it
    has already completed (errno == EINVAL on DISCARD_URB), then the entire
    transfer has already completed, so returning NOT_FOUND is consistent
    with what the documentation for libusb_cancel_transfer() says.
    
    But if we've successfully cancelled the last urb, and then another urb
    fails with errno == EINVAL, this means that we've still cancelled the
    transfer, as it has only *partially* completed.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit b22253ba9cbd399299b534a8c5e3bbac3f240963
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Apr 19 04:05:29 2012 +0200

    libusb-1.0.pc: Mention OpenBSD and NetBSD in description

commit 6aa0fc60d94e3123de230d3fbc9196814c0e466e
Author: Peter Stuge <peter@stuge.se>
Date:   Mon Apr 16 05:59:44 2012 +0200

    io.c: Add debug message with the callback address on completed transfer

commit de41604560a57b2279ac1d0a10b8192a9224d284
Author: Xiaofan Chen <xiaofanc@gmail.com>
Date:   Sun Apr 15 11:50:27 2012 +0800

    Experimental support for NetBSD using the OpenBSD backend
    
    Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>

commit 404054cb508881c9bd6bc575b66c4f509046b4af
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Apr 19 00:41:45 2012 +0200

    configure.ac: Separate per-OS backend selection from per-backend settings

commit 2eba7e4197cf9afa77451186e1a116ee3ae91adc
Author: Xiaofan Chen <xiaofanc@gmail.com>
Date:   Sun Apr 15 07:17:18 2012 +0800

    Linux: Silence unused variable warnings when without CLOCK_MONOTONIC
    
    Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>

commit bc790a9c414871cc1d33f1c7686048434a700e45
Author: Peter Stuge <peter@stuge.se>
Date:   Sat Apr 7 05:20:36 2012 +0200

    examples: Use snprintf() instead of sprintf() in dpfp and dpfp_threaded
    
    The OpenBSD C compiler generates a warning for every use of sprintf()
    and for a good reason. Reported in http://marc.info/?m=133376187514495
    
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>

commit bffa232dca51bcc41df71c5735fa56370b7509ad
Author: Peter Stuge <peter@stuge.se>
Date:   Sat Apr 7 03:55:36 2012 +0200

    OpenBSD: Fix warning: 'hpriv' may be used uninitialized
    
    As reported in http://marc.info/?m=133376187514495
    
    The variable would be used uninitialized when the internal list of
    open devices is empty as obsd_handle_events() checks which device
    the event fd belongs to, which can not actually happen, but if it
    ever does happen then we will now return LIBUSB_ERROR_NO_DEVICE.
    
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>

commit 6b1982b1bd321b55698ce537e64648e8aec85f6f
Author: Moses McKnight <moses@texband.net>
Date:   Fri Mar 30 21:53:20 2012 -0500

    Windows: Fix build on VC++2003 which doesn't support variadic macros
    
    Change _MSC_VER tests to check for >= 1400 instead of > 1200 because
    Visual C++ did not support variadic macros until VC++2005, as per
    http://msdn.microsoft.com/en-us/library/ms177415%28v=VS.80%29.aspx
    
    Since usbi_dbg() is a function and not a macro with the old MS C
    compilers the functions guid_to_string() and windows_error_str()
    need to be compiled unconditionally, and the compiler should remove
    the dead code when debug logging is disabled on newer compilers.

commit 58ac0355e547080c82d02685a32480b891383d3d
Author: Peter Stuge <peter@stuge.se>
Date:   Sat Mar 31 03:44:40 2012 +0200

    Windows: Don't use a log function body macro for old MS compilers
    
    The duplication is a lot more straightforward than the previous LOG_BODY
    macro, which also didn't handle the special debug case correctly. The
    duplicated code is fortunately not very long.

commit 76af4c99bd6122c1dd7b58858b669c919d8c8806
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Mar 22 01:52:59 2012 +0100

    libusbi.h: Add IS_EPIN() IS_EPOUT() IS_XFERIN() and IS_XFEROUT() macros
    
    The macros make backend code a little simpler to read, since the
    transfer and endpoint direction is checked in several places across
    the supported platforms.

commit e3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f
Author: Peter Stuge <peter@stuge.se>
Date:   Wed Feb 22 14:21:54 2012 +0100

    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.

commit 7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada
Author: Peter Stuge <peter@stuge.se>
Date:   Sun Feb 19 06:58:16 2012 +0100

    libusb.h: Add comma after last value in enums to ease future expansion

commit c20ec7a927c05e0b960269751c26ab2b6e0b39ab
Author: Peter Stuge <peter@stuge.se>
Date:   Sun Feb 19 05:39:33 2012 +0100

    Linux: Rework bulk continuation check to generic kernel version check
    
    The old check_flag_bulk_continuation() tested for one specific running
    kernel version. The new kernel_version_ge() instead allows to test the
    running kernel version against major, minor and sublevel parameters.

commit cf8f5a7be821099b143fcea8e4ba553daa22818b
Author: Peter Stuge <peter@stuge.se>
Date:   Sun Feb 19 05:32:10 2012 +0100

    OpenBSD: Correctly catch attempts to do isochronous OUT transfers
    
    LIBUSB_ENDPOINT_OUT is the value of the direction bit, which is 0 for
    OUT transfers, so the previous condition could never evaluate to true.

commit ae8e86cffb81858af5eeddbf2ea1aec6d55f573d
Author: Peter Stuge <peter@stuge.se>
Date:   Sun Feb 19 00:42:20 2012 +0100

    Darwin: Do not reject devices with product id 0x0000
    
    Fixes #128.

commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c
Author: Peter Stuge <peter@stuge.se>
Date:   Mon Feb 13 16:59:51 2012 +0100

    Do not call timerfd functions when timerfd is not being used
    
    When libusb was built with timerfd support but used on a system
    without timerfd support the library would hang indefinitely on
    completion of the first transfer, since timerfd functions were
    being called unconditionally and the error returned when timerfd
    was not being used caused a confused internal state.
    
    Many thanks to Ivo Smits for looking into the issue, proposing
    an initial solution, and helping with testing! Fixes #73.

commit c40f3df1efbb9232b525e5f675746762ca2304b8
Author: Michael Plante <michael.plante@gmail.com>
Date:   Sun Feb 12 13:49:35 2012 -0500

    Windows: Fix MSVC6 IDE warning on line continuation in libusb-1.0.rc
    
    * libusb\libusb-1.0.rc(21): Could not find the file LIBUSB_RC.
    * only shows up first time after opening workspace.
    * shows up on either build or clean.
    * not actually due to rc.exe, but prior to it.
    * probably an IDE bug.
    * does not show up when running an exported makefile.
    
    Signed-off-by: Michael Plante <michael.plante@gmail.com>

commit 5526841023101bafa280755c3bd19fc44b9c32a0
Author: Pete Batard <pete@akeo.ie>
Date:   Sat Jan 7 23:30:23 2012 +0000

    Windows: Add Renesas SuperSpeed support for libusb_get_device_speed()
    
    * tests conducted using a Renesas PCIE USB 3.0 controller and driver and
      a mass storage USB 3.0 confirm that USB_NODE_CONNECTION_INFORMATION_EX
      uses (undocumented) value 3 for SuperSpeed

commit 3df437680f8f5406795ec5f32d96612d327b2ca4
Author: Peter Stuge <peter@stuge.se>
Date:   Fri Feb 10 18:06:43 2012 +0100

    autogen.sh: Try to use libtoolize before trying glibtoolize
    
    This helps on Mac OS X where an old glibtoolize is included in the
    system and newer, manually installed, versions provide libtoolize.
    
    See also http://marc.info/?m=132490560131894

commit 4afbc78fe09bfc3dd7a609e5f82e9272c9e6226d
Author: Peter Stuge <peter@stuge.se>
Date:   Wed Feb 8 15:54:21 2012 +0100

    Rename the lsusb example program to listdevs
    
    This is intended to reduce confusion with the much more significant
    lsusb utility which is part of the usbutils package.

commit 57ab55159298b7057e0dd9b3854f7fd1550588ed
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:44:21 2011 -0500

    core.c: Fix clang warning about useless store to a variable

commit 32bbbd133e24c24d02646c0f7d1963404d4955f2
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:43:46 2011 -0500

    Darwin: Clarify comments on event thread creation and termination

commit 6cf3285a4e0dfaec0fe53b8eb6a9281e3c5bcb6c
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:43:46 2011 -0500

    Darwin: Fix incorrect mutex protection of libusb_darwin_acfl global

commit 662ced422cf1ffce68753296a81dccf87f3a1c57
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:43:46 2011 -0500

    Darwin: Use retained runloop variable instead of CFRunLoopGetCurrent()

commit 952a9bb6116afc69c4bae4714c2eb0713bf62a6d
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:37:22 2011 -0500

    Darwin: Fix libusb_init() and libusb_exit() refcount race condition
    
    Use OSAtomicIncrement32Barrier() and OSAtomicDecrement32Barrier()
    in darwin_init() and darwin_exit() to be thread safe.

commit 721cc1c19fc8e88c4482ab3d1e8a34fa100c403c
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Dec 9 13:33:28 2011 -0500

    threads_posix.c: Fix prototype warning by including threads_posix.h

commit f6ef0fca4b36657c1a0885c18cc4c4afcb4f7339
Author: Dave Camarillo <dave.camarillo@gmail.com>
Date:   Fri Sep 23 11:56:58 2011 +0100

    Windows: Fix crash during enumeration with >= 64 connected devices
    
    * indexes were outgrowing the unref_list array before realloc,
      resulting in out of bound access and crash.

commit e280760331e8b39ad3530235653644654166b322
Author: Pete Batard <pbatard@gmail.com>
Date:   Tue Oct 26 16:31:13 2010 +0100

    Windows MSVC6: Remove SetupAPI, AdvAPI32 and OLE32 dependencies
    
    * this ensures that libusb dependent applications only need
      to link with libusb on Windows
    * (copied from Pete's msvc08 mods to msvc6 by Michael)

commit fa66c93253855c9146011a6854d65df6d390039f
Author: Pete Batard <pbatard@gmail.com>
Date:   Tue Dec 13 21:18:10 2011 -0500

    Windows: Output an error message on calls to libusb_get_pollfds()
    
    Signed-off-by: Michael Plante <michael.plante@gmail.com>

commit 637145ed29ee7c7b13ac45d10cf1f798fc06cbd9
Author: Pete Batard <pbatard@gmail.com>
Date:   Thu Jun 3 22:14:20 2010 -0500

    io.c: Fix comment since pthreads isn't the only threading libusb uses

commit bb37939ab44a54a054f73e2f381808b12fb9cb33
Author: Michael Plante <michael.plante@gmail.com>
Date:   Mon Aug 2 19:59:12 2010 -0500

    libusb.h: Cast in libusb_get_string_descriptor() to avoid MSVC6 warning
    
    On MSVC6 bitwise OR promotes to int, causing the warning.

commit ca09754471acba9a22fe8fc09170e5660d1d5c5d
Author: Michael Plante <michael.plante@gmail.com>
Date:   Fri Dec 23 16:50:21 2011 -0600

    Windows: guid_to_string() is only discarded when macro-usbi_dbg used
    
    * usbi_dbg encloses all references to guid_to_string
    * MinGW/cygwin warn about an unused function, so the #if
      squelches this warning
    * MSVC6 uses a variadic function form of usbi_dbg instead
      of a macro, so the compiler still "sees" guid_to_string
      and it therefore needs to always be defined for MSVC6,
      even if it's only a stub.
    * So we define it if usbi_dbg is used OR if MSVC6 is used.
    
    Signed-off-by: Michael Plante <michael.plante@gmail.com>

commit 8e15adcb0089882d10269ab77d35e193770ab90e
Author: Pete Batard <pete@akeo.ie>
Date:   Tue Nov 15 01:11:12 2011 +0000

    Windows: Fix undefined datatype 'LONG_PTR' in MSVC6
    
    * issue reported by Elmi
    
    Signed-off-by: Michael Plante <michael.plante@gmail.com>

commit 17ad642cae618cc09c5516612fa3880d4b6b8635
Author: Pete Batard <pete@akeo.ie>
Date:   Sun Nov 13 23:10:15 2011 +0000

    Windows: Fix for MSVC6 preprocessor not accepting blank parameters
    
    * unlike later iterations of Visual Studio, MSVC6 does not accept
      blank parameters on macro calls [eg. CALL(a, ,b)]
    * blank params were used with the DLL_DECLARE and DLL_LOAD macros
    * issue reported by Elmi

commit c591a7cbf7dbc6fbb4368e65cf58a8cd02582aeb
Author: Michael Plante <michael.plante@gmail.com>
Date:   Tue Oct 26 11:39:38 2010 +0100

    Windows: Switch MSVC6 .dsp project files from MBCS to Unicode
    
    * MBCS (which is different from UTF-8) only makes sense if
      supporting Windows 95/98, which we don't
    * (try to match Pete's vcproj changes in MSVC6)

commit 536e424fd7d057fc3f20f9939f9de4572e51c815
Author: Michael Plante <michael.plante@gmail.com>
Date:   Tue Dec 13 21:39:40 2011 -0500

    Windows: Add missing MSVC6 lsusb.dsp project file
    
    Signed-off-by: Michael Plante <michael.plante@gmail.com>

commit c56828857eb7ba6fb4f7701693dbb3fe4e75d5f6
Author: Martin Pieuchot <mpi@openbsd.org>
Date:   Mon Jan 30 09:59:30 2012 +0100

    OpenBSD backend

commit d2285744c7fa4007bb411be354268209d350b0f2
Author: Xiaofan Chen <xiaofanc@gmail.com>
Date:   Fri Jan 13 18:07:34 2012 +0100

    configure.ac: Darwin: Move -lobjc from LIBS to PC_LIBS_PRIVATE
    
    Since commit 40327cd134718475f6cec8935b856d4fdff2099c it is neccessary
    to explicitly include -lobjc not only when linking libusb itself, but
    also for programs linking statically against libusb. References #63.
    
    See also http://marc.info/?m=132505900202378

commit 93b0e09d53ed1d177631af9182378492481a790a
Author: Xiaofan Chen <xiaofanc@gmail.com>
Date:   Fri Jan 13 13:04:00 2012 +0100

    examples: Link only with ../libusb/libusb-1.0.la and not with -lusb-1.0
    
    Previous _LDFLAGS included both the freshly built libusb in ../libusb
    and -lusb-1.0, where libtool would usually resolve the latter to an
    already-installed libusb library in the system. The extra reference
    to a second libusb library resulted in failure to build examples on
    Mac OS X in some cases, and is plain wrong.
    
    See also the thread at http://marc.info/?m=132637593623667

commit cdc5df8f1b206a7c19bc221e8a9a97d5d98deb85
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Jan 12 10:34:55 2012 +0100

    libusb/Makefile.am: Avoid recursive variables in .rc silent-rule
    
    Not every make supports recursive variable expansion so some automake
    versions complain about non-POSIX variable names ever since commit
    70bec4a9f8ec28d36c731011fa24d37c74ad3523 which added support for
    silent-rules in our rule to compile the Windows .rc file.
    
    This commit removes the recursive variables and instead uses the
    simple and generic GEN message and associated variable.

commit a8e2e7cab278fbfcba91909eaf762cf66da9eda5
Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
Date:   Sat Sep 24 18:27:54 2011 +0200

    Core: Fix #122 warning: no previous prototype for ‘usbi_log_v’
    
    Declare the usbi_log_v() function before using it.

commit e88ecb1e65604c222f82da586bb9e9066d66fbba
Author: Sean McBride <sean@rogue-research.com>
Date:   Fri Oct 14 14:40:29 2011 -0400

    Darwin: Set a name for the background thread on Mac OS X 10.6 and later
    
    The call to pthread_setname_np() makes it easy to identify the
    background thread in the Xcode debugger and in crash reports.

commit 60bad550dcb31a315a667a6614c52f712c82f45f
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 22 21:42:35 2011 +0200

    libusb/Makefile.am: Add libusb-1.0.rc dependency on version.h

commit 70bec4a9f8ec28d36c731011fa24d37c74ad3523
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 22 21:38:29 2011 +0200

    libusb/Makefile.am: Make the libusb-1.0.rc rule support silent-rules

commit fa9b682a638e54a4556ef6bd343ef56d6300a520
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 22 21:17:37 2011 +0200

    configure.ac: Enable libtool support for Windows Resource language

commit 58c73ddca310f757fc7ca75197bf3d7ca58ce29a
Author: Sean McBride <sean@rogue-research.com>
Date:   Mon Sep 19 12:52:44 2011 -0400

    descriptor.c: Use size_t for minor 64 bit compliance improvement
    
    Fixes #121.

commit 27ec326a9f1bff4481702b35f39897c65a5db586
Author: Sean McBride <sean@rogue-research.com>
Date:   Mon Sep 19 12:42:33 2011 -0400

    Darwin: Fix warnings about mismatched signed/unsigned compare
    
    References #121.

commit 59cc79f2c8e5da41fe2c761bf1e1d9cd18ddac81
Author: Sean McBride <sean@rogue-research.com>
Date:   Mon Sep 19 12:38:20 2011 -0400

    Fix unused variable warnings when without timerfd and/or when on Darwin
    
    References #121.

commit 1cc5b4a9fb984e83681ae5c797fa6b22bc20f809
Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
Date:   Fri Sep 16 18:07:56 2011 +0200

    Correctly handle LIBUSB_TRANSFER_OVERFLOW in libusb_control_transfer()
    
    sync.c: In function `libusb_control_transfer':
    sync.c:122: warning: enumeration value `LIBUSB_TRANSFER_OVERFLOW' not
    handled in switch
    
    Fixes #120.

commit c55f581f43885f8576d8e2ebf4d46cd7ff3c1030
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 16:01:37 2011 +0100

    Windows: do not set altsetting 0 as part of libusb_release_interface()
    
    * pointed out by Travis Robinson and Xiaofan Chen
    * similar to a change advised by Alan Stern for the Linux kernel:
      http://marc.info/?m=122790204410765

commit efd3fae8f95ef7797ecd4b5731b198f100007d6a
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 15:45:35 2011 +0100

    Windows: fix communication with hubs
    
    * issue reported by René Haunstrup in http://marc.info/?m=130503019227814

commit a8d1eb7963e5811e16e8fb7e157cf3a00d888347
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 15:41:39 2011 +0100

    Windows: add USB 3.0 controller support
    
    * Windows 8, NEC/Renesas, TI, Fresco Logic, Etron, VIA, ASMedia
      (some of which untested!)
    * includes workaround for NEC/Renesas USB 3.0 root hubs

commit 48a19497bdd14325738ac9197d8cf4ebe1daa2d4
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 15:28:03 2011 +0100

    Windows: add static keywords and drop duplicated or unneeded code

commit af407286ba2fd346755297e56e365d84b98090d5
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 13:59:46 2011 +0100

    Windows: fix 'windows_error_str' defined but not used when not logging

commit abc3143ba1989a48f62246c2afb0eb4c3c5f7917
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 22 10:19:17 2011 +0200

    libusbi.h: Silence unused context variable warnings when not logging

commit 69b71c896a153a307360cf21be67b3b6e1e09a2d
Author: Pete Batard <pete@akeo.ie>
Date:   Mon Sep 19 13:06:22 2011 +0100

    Windows: copy DLL file regardless of ddk_build.cmd dll argument case

commit fdbac8971212bda3a42feeeaeb92fd8e49c7e904
Author: Pete Batard <pete@akeo.ie>
Date:   Sun Sep 18 20:06:45 2011 +0100

    Windows: Add uint32_t typedef for old MSC so that DDK can build lsusb

commit c471d55e909d84012f065715703dad454d1fa421
Author: Vitali Lovich <vlovich@gmail.com>
Date:   Fri Sep 16 08:53:25 2011 -0600

    Darwin: fix port leak in darwin_clock_gettime()

commit 477f3917f8c123e36993f9c0ba8156ca0f16ccfa
Author: Vitali Lovich <vlovich@gmail.com>
Date:   Fri Sep 16 08:50:40 2011 -0600

    Darwin: remove unnecessary run loop invalidation during libusb_exit()

commit f52094f37ccaff8137f5ce39867d2dba9b0f6bf9
Author: Vitali Lovich <vlovich@gmail.com>
Date:   Fri Sep 16 08:49:54 2011 -0600

    Darwin: fix port leak during libusb_exit()

commit 8a2f7b5c0520e6099f2c624cd0994c60867c1628
Author: Vitali Lovich <vlovich@gmail.com>
Date:   Fri Sep 16 08:48:28 2011 -0600

    Darwin: fix potential leak on libusb_claim_interface() error

commit b1ee2ef8d0b67dcc51c15742cb2decb386cffd9b
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Fri Sep 16 08:41:01 2011 -0600

    Darwin: Fix #117 transfer size 64/32 bit issue for transfer callbacks
    
    The transfer size is now always truncated to 32 bits.

commit c407a2d97b6f8715d3452257a0adac40a20178e6
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 15 17:04:43 2011 +0200

    Remove username from SF FRS rsync upload command

commit cbc2d7b2de58cf5fb02d9e5a39be0870527f8632
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 15 16:48:35 2011 +0200

    Support release candidate versions in configure.ac and libusb-1.0.rc

commit 384a528ed7adde935681313dacc5cd79e4be9ea1
Author: Peter Stuge <peter@stuge.se>
Date:   Thu Sep 15 16:32:47 2011 +0200

    Tidy .gitignore a little
    
    There's no xusb, we need a glob pattern for matching .exe files, and
    fpusb tarballs aren't very common in the libusb source dir.

commit 9ad3643391a7fc6ce97aa77ffaf97d244fd9e613
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Wed Sep 14 10:53:48 2011 +0200

    Docs: Clarify that libusb_handle_events_timeout() tv param can't be NULL
    
    The example code and API doc for libusb_handle_events_timeout() could be
    interpreted as it being OK to pass a NULL pointer for the tv argument (I
    interpreted it like that when I first started coding for libusb).
    
    This patch changes the docs to make it clear that one must always supply
    a tv struct to libusb_handle_events_timeout.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit e1c06fb070c1328a3b78c7da8b9e779d466edd97
Author: Peter Stuge <peter@stuge.se>
Date:   Wed Sep 14 08:23:43 2011 +0200

    Makefile.am: Do not remove ChangeLog on make distclean, fixes #116
    
    [pbatard: Remove it on make maintainer-clean instead]

commit 0c5bf03eb829e51dcf19562fc4f745937235ea51
Author: Vitali Lovich <vlovich@aliph.com>
Date:   Wed Sep 14 07:02:06 2011 +0200

    Darwin: Reduce race likelihood between cancellation and device disconnect
    
    References #88. The race condition still remains, but this change
    makes it less likely to trigger.

commit 3e6e257f55156c4600f3116a0befba8cee62872a
Author: Peter Stuge <peter@stuge.se>
Date:   Wed Sep 14 04:00:33 2011 +0200

    Document that libusb_get_device_list() can return any libusb_error code
    
    Fixes #87.

commit 737ba04ea40f19564b445fbb489907529e75edc9
Author: Pete Batard <pbatard@gmail.com>
Date:   Thu Jun 16 10:49:13 2011 +0100

    Linux: Fix #81 URB double free race condition on device disconnect
    
    A submitted transfer that has just been failed by the kernel could be
    picked up by an event handler to be cleaned up, where freeing of URB
    memory would race with the submit function doing it's own cleanup and
    freeing as a result of the submit failing.
    
    libusb_submit_transfer() always holds itransfer->lock, so the race can
    be avoided by taking that lock also in the cleanup path and checking
    that the URB memory has not already been freed before freeing it there.
    
    As http://libusb.org/ticket/81#comment:14 notes there is still another
    possible, but unlikely, race condition between libusb_submit_transfer()
    and an event handling thread. That will require more work to solve.
    
    [stuge: Add check in cleanup path that URBs have not already been freed]

commit 1b0f758a334d78d3832d17d694ac0c931da36050
Author: Peter Stuge <peter@stuge.se>
Date:   Wed Sep 14 03:00:14 2011 +0200

    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.
    
[--snip--]
