commit 5d71cd877fb4bb5f65a014b2b98ec692aa22dbc2
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Fri Oct 9 15:42:54 2015 -0600

    tag the 0.1.6-rc1 release
    
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>

commit e6a2d1b18ac86714b219a1ed1bcee08b169bffd9
Author: Ray Donnelly <mingw.android@gmail.com>
Date:   Tue Jan 20 19:30:30 2015 +0000

    Add -no-undefined to LDFLAGS
    
    As otherwise libtool won't build Win32 DLLs
    
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>

commit ded6bf77758415ca56e4825036f00eb31750c3df
Author: Ray Donnelly <mingw.android@gmail.com>
Date:   Tue Jan 20 19:29:55 2015 +0000

    Add some missing definitions
    
    Needed for Win32
    
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>

commit 2e9b6bbebb7cf1ef0095516ec6d5203deb3822e8
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Fri Oct 9 15:03:10 2015 -0600

    Use C99 standard fixed width integer types in usb.h
    
    This patch modifies the integer types in usb.h of the form u_int* to the
    C99 standard uint* types.
    
    Based on patch from Gwenhael Goavec-Merou.
    
    Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>

commit b6f5a2fe12ca19d658d7180e106254b31cf1f8f5
Author: Stanislav Brabec <sbrabec@suse.cz>
Date:   Tue May 12 17:19:05 2015 +0200

    Prevent libusb-1.0 library symbol clash
    
    libusb-1.0 uses functions like libusb_open. These names are generic, and
    there are applications using libusb-0.1 using these names for its own
    functions (e. g. scanbuttond). If such applications uses libusb-compat,
    it crashes due to symbol clash.
    
    Such clash is easy to fix in Open Source applications, but impossible to
    fix inside closed source applications.
    
    Dynamic linker does not allow to hide symbols from dependent library.
    This could be worked around by loading this library later by dlopen()
    with RTLD_LOCAL flag.
    
    Do this on platforms where it can be done.
    
    This change makes visible only libusb-0.1 symbols but not libusb-1.0
    symbols.
    
    (It could be theoretically possible to introduce clashes with libdl, but
    it is much less probable.)
    
    How to reproduce:
    
    Take testlibusb.c from libusb-0.1.12/tests and replace print_device
    by libusb_open. Without this change the application crashes.
    
    Reference:
    https://bugzilla.opensuse.org/show_bug.cgi?id=596411
    
    Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>

commit 072a5e4ee6a2658d8f422a707115fb36f3e6f959
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Tue Feb 25 23:10:01 2014 -0700

    Add a library destructor to handle cleaning up libusb.
    
    References #6

commit 929029867c3d42ef759e3a5f6290250ecc7ebf58
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Tue Feb 25 22:52:23 2014 -0700

    Revert "Link with -znodelete to disallow unloading"
    
    -znodelete is causing problems on Darwin. We will use a library destructor
    function to ensure proper cleanup.
    
    This reverts commit 89a55e84b390225d2ad47a300191770e95307f05.

commit eb590b4dac00a5188b93e1d6ebdd60b06f9ab3d7
Author: Hans de Goede <hdegoede@redhat.com>
Date:   Thu Feb 13 17:25:27 2014 +0100

    Revert "use atexit() to call libusb_exit()"
    
    The use of atexit() breaks various users of libusb-compat,
    see ie: https://bugzilla.redhat.com/show_bug.cgi?id=1003193
    
    This reverts commit 0be16b8dd25733d242ae32b57823a9513ec21353.
    
    Closes libusbx/libusb-compat-0.1#2
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 89a55e84b390225d2ad47a300191770e95307f05
Author: Daniel Berrange <berrange@redhat.com>
Date:   Wed Aug 14 16:00:56 2013 +0200

    Link with -znodelete to disallow unloading
    
    Since libusb-0.1 did not have any init / exit function, code using the
    libusb-0.1 API will not call libusb_exit.
    
    Now, libgphoto uses libusb and will dlopen() and dlclose() it. Unfortunately
    since there is no way to ensure libusb_exit() is called, when libgphoto
    dlcloses the libusb.so library, the thread from libusbx.so will not be
    stopped. So a thread will remain running, executing code from a memory
    region that has now been freed. Crash-tastic results ensue.
    
    I don't see a good way to fix this from libusb or libusbx, given the need to
    preserve the existing API of libusb.
    
    If, however, we link libusb.so using  -znodelete, we will prevent it from
    ever being unloaded, despite the dlclose() calls. This is not ideal, but
    better than allowing it to be unloaded which is a guaranteed crash.
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>

commit 8fc7a4f671833d7142e632517d25d0015b648c3c
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Thu May 23 19:11:16 2013 -0600

    Update news for 0.1.5

commit cab33bcf07541d1a36e1e9d4ec75a3c080e98b2d
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Mon May 20 17:34:02 2013 -0600

    libusb-compat-0.1.5

commit 86dafa1443aef6fb9df50734df7b6e2240de4d9c
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Mon May 20 17:33:43 2013 -0600

    Add bootstrap.sh and do not set debug mode by default.

commit 72dc8b5987580c73e5df14cc330cea72b0f5a827
Author: Nathan Hjelm <hjelmn@me.com>
Date:   Mon May 20 17:32:43 2013 -0600

    Replace the deprecated INCLUDES token with AM_CPPFLAGS in Makefile.am

commit 70083af73554fec63fa4c13b0211b4d5ddf5a8cd
Author: Brad Smith <brad@comstyle.com>
Date:   Fri Aug 24 17:13:11 2012 -0400

    libusb.pc.in: Add missing Requires.private: libusb-1.0 so that pkg-config adds the libusb 1.0 library and dependencies when static linking.

commit 0be16b8dd25733d242ae32b57823a9513ec21353
Author: Nathan Hjelm <hjelmn@cs.unm.edu>
Date:   Thu Apr 4 10:53:42 2013 -0600

    use atexit() to call libusb_exit()
    
    Fixes #130

commit f52bc041ccadbc72860fcc3409e915121f6a22ac
Author: Nathan Hjelm <hjelmn@cs.unm.edu>
Date:   Thu Apr 4 10:53:01 2013 -0600

    fix autoconf errors/warnings
    
    Fixes #161

commit b2200bea0cf009f4ca31717b588e3c78bbda4e96
Author: Xiaofan Chen <xiaofanc@gmail.com>
Date:   Sun May 13 19:50:38 2012 +0800

    examples: Link only with ../libusb/libusb.la and not with -lusb
    
    Similar to libusb.git commit 93b0e09d53ed1d177631af9182378492481a790a
    http://git.libusb.org/?p=libusb.git;a=commitdiff;h=93b0e09d53ed1d177631af918
    
    Previous _LDFLAGS included both the freshly built libusb in ../libusb
    and -lusb, where libtool would usually resolve the latter to an
    already-installed libusb library in the system. The extra reference
    to a second libusb library may cause failures to build examples
    on some platforms and is wrong.
    
    Fixes #135.

commit 96aed2f7963d4a55d575a701adce8e64c0ae89fb
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 07:27:08 2012 +0200

    libusb-compat-0.1.4

commit 2ec4b60bc6394356975757b754e2b52b1dc17bb8
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 07:21:54 2012 +0200

    README: Add Peter Stuge and remove Daniel Drake

commit 2236a36fe8acdf1bc74239e5dae4d4cad4f679be
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 07:20:58 2012 +0200

    README: Update libusb homepage URL

commit 1e00ab3f042a8d37558e321e3240df514b6d9d81
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 07:43:39 2012 +0200

    examples/Makefile.am: -I$(top_srcdir)/libusb to reach usb.h properly

commit 983fabd544ca9879d8901f05e286a674db97070e
Author: Stanislav Brabec <sbrabec@suse.cz>
Date:   Wed Apr 4 17:44:24 2012 +0200

    Fix #42 usb_detach_kernel_driver_np() error mapping
    
    usb_detach_kernel_driver_np() from libusb-compat-0.1 returns different
    error messages than the old libusb-0.1. It causes problems for drivers
    that expect exact error code.
    
    Convert libusb-1.0 errors back to libusb-0.1 errors to get 1:1 mapping
    of kernel error codes.
    
    Affected software:
    lirc-0.8.7/daemons/hw_srm7500libusb.c: srm7500_initialize_usbdongle()
    The function continues if usb_detach_kernel_driver_np() finishes with
    no error or if it returns -ENODATA. But libusb-compat-0.1 used to
    return -ENOENT and the driver considers this error as fatal.
    
    Upstream bug reference:
    http://libusb.org/ticket/42
    Upstream mailing list reference:
    http://marc.info/?m=133355454809642
    Downstream bug reference:
    https://bugzilla.novell.com/show_bug.cgi?id=683307

commit 284235b7e71978f2c2068fbd66698bc4c6770559
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 06:15:35 2012 +0200

    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
    
    libusb.git commit 3df437680f8f5406795ec5f32d96612d327b2ca4

commit 1aa067b7d2ab313096bdc16b5a3aa050971b14d5
Author: Peter Stuge <peter@stuge.se>
Date:   Tue Apr 24 07:36:47 2012 +0200

    Silence warnings: passing argument 3 of 'usb_*_io' discards qualifiers

commit ab21a0312fe2df754fd7a4cf4c45050233ee443d
Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
Date:   Tue May 3 11:12:13 2011 +0200

    Use const for read only buffers
    
    Change the usb_bulk_write() and usb_interrupt_write() API to use
    "const char *bytes" for read only buffers (data sent to the device).
    
    See Debian bug #473814
    "libusb: Please use const where appropriate in headers"
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=473814
    
    [stuge: Also change actual function definitions]

commit ccb66689c0e04db4ac8474e573ca2e5f055f5d7b
Author: Daniel Drake <dan@reactivated.net>
Date:   Tue Jun 22 18:19:15 2010 -0500

    Add log message for open permission denied errors
    
    This message was previously in libusb but is being removed (ticket #44).
    Move it here so that this caveat (also documented in README) is more
    obvious.

commit cbfeff38e3a10b9e28a575a47e39b2311f38ce9a
Author: Ludovic Rousseau <rousseau@debian.org>
Date:   Sun Oct 25 10:33:02 2009 +0100

    testlibusb warning fixes
    
    testlibusb.c:14: warning: no previous prototype for 'print_endpoint'
    testlibusb.c:24: warning: no previous prototype for 'print_altsetting'
    testlibusb.c:40: warning: no previous prototype for 'print_interface'
    testlibusb.c:48: warning: no previous prototype for 'print_configuration'
    testlibusb.c:63: warning: no previous prototype for 'print_device'

commit 511324a538a034f7f0766b7689ed50ed4e21ee43
Author: Daniel Drake <dsd@gentoo.org>
Date:   Thu Sep 17 23:49:53 2009 +0545

    Document breakage from internal handle structure change
    
    Code exists which expects usb_dev_handle to always have the same
    contents as it did in libusb-0.1.12. Such code will not work with the
    compat layer since the structure has changed.

commit 713a4c3c2097e6d060d41718b2005490dfd7c71c
Author: Daniel Drake <dsd@gentoo.org>
Date:   Thu Jul 9 22:15:32 2009 +0100

    v0.1.3 release

commit 3874dfa6141e0e4cee8ccc6c3d4ff522698ebd7d
Author: John Smith <john@smith.com>
Date:   Thu Jul 9 22:13:45 2009 +0100

    Improve libusb-config for cross-compiling (SF#2809877)
    
    The sed applied to this file only affects to assignments that happen
    at the start of the line.
    
    This fixes cross compiling for OpenWRT, etc.

commit 15bf9b0a2d3fed8f0fe69d002a4fcd0140679f2d
Author: Kyle McKay <mackyle@gmail.com>
Date:   Fri Jun 19 22:11:02 2009 +0100

    Improved error code compatibility
    
    libusb-1.0 can return result codes 0, -1 through -12 and -99.  The old
    libusb-0.1 software was always returning the negative of an errno.h
    error code.
    
    Unfortunately the current version of libusb-compat passes through some
    of the libusb-1.0 error codes unchanged.  (Some of the error codes are
    translated for some functions and different ones for other functions
    but plenty are not translated.)
    
    The patch attached to the below bug report makes sure all libusb-1.0
    error codes are translated into the libusb-0.1 equivalent negative of
    an errno.h define value.  Additionally, this patch makes sure that
    errno is always being set as some callers of libusb-0.1 expect that to
    be the case.  Finally since errno is now always being set by libusb-
    compat, the implementation of usb_strerror is changed to return
    strerror(errno) instead of the unhelpful "Unknown error".

commit 3ffc1160f0599ceb503aa2e0dbbf51a5b72bb9b9
Author: Daniel Drake <dsd@gentoo.org>
Date:   Thu Jun 11 23:50:59 2009 +0100

    v0.1.2 release

commit 29af8617ad6d460c3bff927f17c4938dab8f10d3
Author: Daniel Drake <dsd@gentoo.org>
Date:   Fri May 29 12:28:05 2009 -0400

    Better handling of library initialization failure

commit f0909ef85c5bf2ee8655864041e5e0453adc9ff0
Author: Daniel Drake <dsd@gentoo.org>
Date:   Thu May 28 09:28:50 2009 -0400

    v0.1.1 release

commit b090e024b9dbd8d94ba6f2b6eeb629d3fd461d6e
Author: Stanislav Brabec <sbrabec@suse.cz>
Date:   Wed May 27 15:39:54 2009 -0400

    Sanitize more endpoint addresses
    
    For maximum compatibility, this makes libusb-compat-0.1 behave like
    libusb-0.1 on BSD, where endpoint addresses are sanitized for all control
    and bulk transfers. (Linux and Darwin also sanitize some of these)

commit cf9ce427f4bb62b7d575b70b299f1a582fb1baa1
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat Dec 13 20:30:54 2008 +0000

    v0.1.0 release

commit c2ffa94cbcab67324aebc1b32dad69f875b6481a
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat Dec 13 20:25:27 2008 +0000

    Document the danger of forcefully killing threads
    
    Ludovic Rousseau has explained that he achieved transfer cancellation in
    libusb-0.1 by running each transfer in it's own thread, and forcefully
    killing the thread when he doesn't want the transfer any more.
    
    This bad programming practice is imposed by libusb-0.1 not offering any
    way to cancel ongoing transfers. Someone should rewrite libusb-0.1 to
    avoid this limitation. Oh, wait...
    
    Killing libusb-1.0 threads while they are event handling will often
    result in I/O halt. Document this in the README.

commit 14e5a692c62c07e9698e5b51b4da5f48a7da1912
Author: Daniel Drake <dsd@gentoo.org>
Date:   Fri Nov 21 16:52:42 2008 +0000

    v0.1.0-beta3 release

commit 8cc08f2c34f0efb809b98b4704e70a3c350cc9a1
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun Aug 10 17:05:08 2008 -0500

    Allow usb_set_debug before usb_init()
    
    Xiofan Chen reports that this worked on libusb-0.1.
    Also fix NULL initialization of ctx.

commit 0dc6967ca823d177503fe91de67de9801496cfec
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat Jun 28 21:35:11 2008 -0500

    v0.1.0-beta2 release

commit 788e70c700d1d3a00e9deee67aa24b7c920650e2
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat Jun 28 21:33:09 2008 -0500

    Update to new libusb context API

commit 7999d97c699493da2e04fa7e9cd9bfe4e080c49f
Author: Daniel Drake <dsd@gentoo.org>
Date:   Tue Jun 17 18:19:16 2008 -0500

    Fixup read endpoint addresses
    
    This doesn't make much sense, but libusb-0.1 does it, so we will do it
    too.

commit fcf3834702d6dab8ce1181678131376f1badd62d
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 26 00:05:32 2008 +0100

    v0.1.0-beta1 release

commit c7746a0c411b2e4edec178d1ae7783d40152bc7b
Author: Daniel Drake <dsd@gentoo.org>
Date:   Fri May 23 16:01:18 2008 +0100

    link usb_set_debug to libusb_set_debug

commit 1c59b329f3f4f8644011b37414695df2c5e54586
Author: Daniel Drake <dsd@gentoo.org>
Date:   Fri May 23 15:32:30 2008 +0100

    don't log anything by default
    
    Only log messages if the user asked for them using usb_set_debug()
    
    Ludovic Rousseau pointed out that library users may close stdout/stderr
    and those file descriptors may be reused for other things.

commit fa323490e8e66fe0e95e1545d0c921e947ed6f93
Author: Daniel Drake <dsd@gentoo.org>
Date:   Tue May 20 16:27:17 2008 +0100

    Update for new libusb_open API
    
    Pointed out by Soumen Mondal

commit c5c6684c06bcf8e922601fc1c0d994552abf1e92
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 19 16:15:17 2008 +0100

    Add emulation info to pkg-config file
    
    Ludovic Rousseau requested a way of distinguishing between
    libusb-compat-0.1 and the real libusb-0.1, and suggested this approach.
    
    You can access this info through pkg-config e.g.:
    	pkg-config --variable=emulated libusb

commit 49057f6ce5cd4d51e31594f290b2dd3c9f1dbaf8
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 19 15:21:04 2008 +0100

    Pretend to be libusb-0.1.12
    
    Pointed out by Ludovic Rousseau: some programs check for specific libusb
    versions, so pretend to be v0.1.12.

commit 727fe5651bfcdd789c2ea4ce462df398b4cacc69
Author: Daniel Drake <dsd@gentoo.org>
Date:   Fri May 16 23:38:46 2008 +0100

    remove FIXME about parent-child relationships
    
    Doesn't seem worth this holding things up.

commit 2b6bdd1aeca38bb4211b704fd76faa0f41272807
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat May 10 22:17:26 2008 +0100

    Update for new descriptors API

commit bb248deecfc6b7718ef849ad9f3f394483d429c8
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sat May 10 15:36:54 2008 +0100

    update for new libusb configuration API

commit b8893bca200a24acbda8ba9d2816da743e8783a0
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 5 16:33:37 2008 +0100

    match error reporting better, and handle endpoint halts

commit f06d81be9634a0b160caa11cd66f7fcc9354b28a
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 5 16:32:47 2008 +0100

    make log function static

commit a390eee8402634f5ecefc617832af1b4fd8af2ee
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 5 15:13:40 2008 +0100

    add usb_set_debug
    
    Pointed out by Xiaofan Chen

commit c062b2b41183d98ac8a5f568d84472b422ec8285
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 5 15:11:36 2008 +0100

    populate bus->dirname and dev->filename
    
    lsusb uses these. Problem spotted by Xiaofan Chen

commit 71225af5613d512b3a26ed94410f6d6ed2cebb30
Author: Daniel Drake <dsd@gentoo.org>
Date:   Mon May 5 00:37:12 2008 +0100

    fix timeout handling for bulk/interrupt IO

commit 2bb614e567d921a80224139b01742b718f8d420a
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 17:29:15 2008 +0100

    implement a couple more functions

commit 1ad492d8b46e4b41f5193f461ec356ec95368875
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 17:18:11 2008 +0100

    installation fixes

commit 89dde2002fc4f08a5b90bd7e143c6ec06d86d279
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 16:55:50 2008 +0100

    add testlibusb example from libusb-0.1

commit b9478137cb8a6f4a6ba758c3b3d3bc5173a623d8
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 16:53:45 2008 +0100

    implement usb_get_driver_np() and usb_detach_kernel_driver_np()

commit eae1ee2b7bac39f408a9ee61f1e3a80e6425e483
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 16:28:32 2008 +0100

    control transfer functions

commit 493e756b5b08ba98b612679bcc210d87c20859f0
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 14:25:28 2008 +0100

    bulk and interrupt I/O

commit ce86f26e5d8f49001cee79a40b0baebbcc965d1d
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 14:11:28 2008 +0100

    Implement remaining device operations

commit 78740a7b8f537bc3d6b6c0c09368be453ff3c4d9
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 01:15:50 2008 +0100

    implement some device operations

commit 7d7cb91be1307aa6e56c0534e3fba20afc45977d
Author: Daniel Drake <dsd@gentoo.org>
Date:   Sun May 4 00:59:56 2008 +0100

    Initial commit
