Browse Source

Remove unused and maintainer cleaned files

ckolivas 12 years ago
parent
commit
af9a877825

+ 0 - 5113
compat/libusb-1.0/ChangeLog

@@ -1,5113 +0,0 @@
-commit 09af2a25d7585c481f5e891ddfd1ceb2536ed6c9
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Mon May 6 20:55:53 2013 -0600
-
-    on to 1.0.16-rc10
-
-commit bcc159ec9156201544c249bb4a87f8f24cc34e0a
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Mar 7 11:44:00 2013 +0000
-
-    Linux: Consume all events on a fd in one go
-    
-    * This fixes libusb_handle_events_timeout() only handling one event
-    * Fixes #123
-    
-    Conflicts:
-    	libusb/version_nano.h
-
-commit c703ab72d0398c18686c2970730cd580e2d1f46c
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Fri Oct 12 17:34:25 2012 -0400
-
-    Core: use C99 flexible array member when possible
-    
-    fix clang warning by using C99 flexible array member instead of zero
-    length array gcc extension
-    
-    Conflicts:
-    	libusb/libusbi.h
-
-commit 21e4c82043caf0d19ae9354e48035a135f3549d3
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri May 3 08:09:09 2013 -0600
-
-    bumb version to 1.0.16-rc9
-
-commit 66553c2e8219d84e3e8857b18341782e1ca82a58
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri May 3 08:03:37 2013 -0600
-
-    darwin: return LIBUSB_ERROR_NOT_FOUND when reading the active config descriptor when the device is not configured.
-    
-    fixes #172
-
-commit 42bb27b4fdc07e4c74a3ae8fa6ca67b66b591412
-Merge: 376a05a 629cefb
-Author: hjelmn <hjelmn@cs.unm.edu>
-Date:   Sun Apr 28 08:04:19 2013 -0700
-
-    Merge pull request #1 from LudovicRousseau/fixes
-    
-    Examples: fix compiler warnings
-
-commit 629cefbd40974c84c326107e3b31869088336753
-Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
-Date:   Sat Apr 27 22:40:03 2013 +0200
-
-    Examples: fix compiler warnings
-    
-    hotplugtest.c:30: warning: no previous prototype for ‘hotplug_callback’
-    hotplugtest.c:48: warning: no previous prototype for ‘hotplug_callback_detach’
-
-commit 376a05a9efa441b576fb1c58e5d49c90a1295e4a
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Apr 25 22:31:01 2013 -0600
-
-    update to 1.0.16-rc8
-
-commit 20ec541f26d6d98f26d87cfca82287fe4bf15d30
-Author: hjelmn <Nathan Hjelm hjelmn@cs.unm.edu>
-Date:   Tue Apr 23 16:35:33 2013 -0600
-
-    darwin: clean up old code
-    
-    For some time only one type of completion message has been in use in the darwin
-    backend. The commit cleans up this code. This commit also removes some code
-    that has never done anything useful. If a pipe has an error it probably means
-    the device was closed so there is nothing to do.
-
-commit 9f41a3a780fc14785da2f07d03c119b8024b2452
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Apr 25 21:12:45 2013 -0600
-
-    darwin: fix memory leaks in the darwin backend.
-    
-    There were two memory leaks in the darwin backend:
-     - A CFString allocated by IORegistryEntryCreateCFProperty in darwin_get_interface()
-       was not released.
-     - The runloop is retained by darwin_open() but was not release by darwin_close().
-
-commit e63fb62acfe52aecfd12b2a2f87f9a79495b2a0b
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Apr 25 21:09:19 2013 -0600
-
-    core: release the context device list when the context is deleted.
-    
-    This commit fixes a memory leak in the context list patch. Devices need
-    to be unref'd when the context is deleted. This can happen if either 1)
-    the backend init fails, or 2) the context is destroyed by libusb_exit().
-
-commit 1c1d686151691f894c04519e2a4faec5811a292c
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Mon Apr 22 15:04:20 2013 -0600
-
-    Update .gitignore
-
-commit 6714fb46d2d2e74587637b465ceb967f5bf80901
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Dec 7 19:59:39 2012 -0700
-
-    core: this is 1.0.16-rc7
-    
-    Rebasing lost the meaning of previous release candidates. Just set the
-    version to 1.0.16-rc7.
-
-commit eb2393972a1731571d3ca7f5b20fe3a3448a1675
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Thu Apr 11 10:19:03 2013 -0600
-
-    Add support for libusb_strerror()
-    
-    Fixes #102
-
-commit 34319ac4fd312356ae9488838b675e57e36c5f98
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Tue Apr 9 19:01:02 2013 -0600
-
-    Update release notes for 1.0.16 release.
-
-commit c3694edc25e0b63a9aa1c1f29590fb727a430aef
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Sun Apr 7 09:35:29 2013 -0600
-
-    darwin: don't need darwin_error_str if ENABLE_LOGGING is not defined
-
-commit eff69edbce89aa0364aba64e9944b83dcac5b080
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Sun Apr 7 09:22:48 2013 -0600
-
-    update AUTHORS
-
-commit c5ad994bb918bfbf87f8044197930124d2289d0f
-Author: Maya Erez <merez@codeaurora.org>
-Date:   Sat Apr 6 12:30:22 2013 -0600
-
-    Add definitions for Endpoint Companion and BOS descriptors.
-    Add APIs for parsing the Endpoint Companion and BOS descriptors.
-    
-    Nathan: Modified the original patch to fit the interface now already
-    provided by the FreeBSD implementation of libusb 1.0 and fit with
-    the rest of libusb.h.
-    
-    Some discussion: The FreeBSD API is not optimal. Further discussion
-    is needed to determine how to update the API without breaking code
-    that used the existing API. This discussion should probably involve
-    the FreeBSD developers and could be handled in a 1.0.x release.
-    
-    An example has been added to show how to use the new API.
-    
-    Fixes #110
-
-commit 55221eda77899ae1287a79c71138967029bed3b3
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Wed Apr 3 08:37:21 2013 -0600
-
-    Use AM_CPPFLAGS instead of INCLUDES in examples/Makefile.am
-
-commit 4232cd434b1475b09db2b15325840ea54753496b
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Wed Aug 22 11:47:00 2012 +0100
-
-    Linux: Avoid unnecessary splitting of bulk transfers
-    
-    * With the latest kernels it is no longer needed to always split large bulk
-      transfers into multiple urbs. This patch takes advantage of this by not
-      splitting when not necessary. Note that the non-split code path is in essence
-      using the old split code path with an urb count which is always 1.
-    * This leads to more sane handling of large transfers with recent kernels,
-      although our splitting code is well tested, not splitting at all still is
-      a lot better :)
-    * When used with a recent kernel, this also fixes the problems, on XHCI attached
-      devices, when a large bulk-in transfer ends with a short read in an urb other
-      then the last urb.
-    * For more on this see: http://marc.info/?l=linux-usb&m=133797554910355
-    
-    Conflicts:
-    	libusb/os/linux_usbfs.c
-    	libusb/version_nano.h
-
-commit ca257e3dbbecffe011ed3a5c87000ba634bf161d
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Wed Aug 22 11:47:00 2012 +0100
-
-    Linux: Add support for the new get_capabilities ioctl
-    
-    * There were a few (new) usbdevfs capabilities which libusbx could not
-      discover in any other way then checking the kernel version.
-    * However, this presents the following problems:
-      1) It is just not very pretty
-      2) Given the tendency of enterprise distros to backport stuff it is not
-         reliable
-      3) Some of these features turn out to not work with certain host controllers,
-         making depending on them based on the kernel version not a good idea
-    * Therefore a new USBDEVFS_GET_CAPABILITIES ioctl has been added to the kernel
-      to offer a better way to find out a device's capabilities (technically
-      the capabilities of the host controller to which the device is attached,
-      but that does not matter).
-    
-    Conflicts:
-    	libusb/os/linux_usbfs.c
-    	libusb/version_nano.h
-
-commit e922bc672aef38773818d2df41cf603b1eac9382
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Tue Apr 2 22:12:47 2013 -0600
-
-    darwin: don't assume an interval of 1 or high/super speed
-    
-    This patch updates submit_iso_transfer to use the bInterval value of the
-    endpoint and the speed of the device to determine the last frame of the
-    transaction.
-    
-    Fixes: #165
-
-commit 6abf49b40c38a5a911701e439160be8eea34f9f3
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Sun Feb 10 14:46:38 2013 -0700
-
-    windows: call usbi_sanitize_device to ensure the device descriptor gets cached
-
-commit 7533aa5ea10280add3d9223db2291089009d6988
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Feb 8 20:41:43 2013 -0700
-
-    darwin: add fcntl.h
-
-commit 265ff59780a226100fcd0634e5c9b09dbe826f17
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Feb 8 20:39:46 2013 -0700
-
-    Fix usbi_log_v in the case where ctx is NULL (no default context).
-    
-    Fixes #147.
-
-commit 854f7b63654045f20692f42b97dd6954b0069c74
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Feb 8 17:19:01 2013 -0700
-
-    On windows do not set the hotplug pipe as non-blocking. I will leave it up the backend maintainers to figure out.
-
-commit 2fa98198472e54b2ae246fb33bf40130dea1456d
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Feb 8 00:12:13 2013 -0700
-
-    darwin: add support for the LIBUSB_TRANSFER_ADD_ZERO_PACKET transfer flag.
-    
-    The zero-length packet is sent by the async event thread if all the following
-    conditions are met:
-    
-    1) The packet size is not a multiple of maxPacketSize, and
-    2) the transfer completed successfully.
-    
-    References #6.
-
-commit b8e6b77495dd8e25c0a52443db4fdc204d4f20f0
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Thu Feb 7 23:35:32 2013 -0700
-
-    Don't set the USBFS_URB_SHORT_NOT_OK flag on the last URB.
-    
-    Fixes: #142
-
-commit 1cd10590ae6fbfbd976349abe625e1495f6a1370
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Thu Feb 7 21:56:30 2013 -0700
-
-    darwin/libusb_reset: reenumerate device if the device descriptor or any
-    configuration descriptor has changed
-    
-    Some background: the Linux kernel causes a device to be reenumeration when
-    reset if the device's descriptors have changed. Darwin does not provide
-    this feature but instead provides a call to force the reenumeration of
-    a device. This behavior is required to support the firmware update
-    protocol used by some devices.
-    
-    This patch updates darwin_reset to check if either the device or
-    configuration descriptors have changed. If they have darwin_reset will
-    ask the OS to reenumerate the device and return LIBUSB_ERROR_NOT_FOUND
-    or LIBUSB_SUCCESS accordingly.
-    
-    Fixes #169
-
-commit 4920971837d569b7afa31f69ed7a92c313362cc3
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Feb 8 17:10:24 2013 -0700
-
-    replace removed automake macro AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
-    
-    Fixes #159. Thanks to cazfi.
-
-commit ed61beaa5ecb1bde41ad04060d980c4bc87d6936
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Dec 7 19:55:21 2012 -0700
-
-    darwin: clean up extraneous includes
-
-commit 43ae35e6f482b5893348b75772c0e0866d050374
-Author: Nathan Hjelm <hjelmn@cs.unm.edu>
-Date:   Fri Nov 30 19:17:43 2012 -0700
-
-    darwin: dpriv->device will never be NULL for a valid device. remove unnecessary code that handled this case
-
-commit 9300dd929abf077c79cfbb0cb98022e9bedee3bb
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Nov 29 16:19:11 2012 -0700
-
-    darwin: allow control messages on devices we can not exclusively open
-
-commit 046fae00f8a138f6d0c1ddba609676bc3a44e86c
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Nov 29 16:14:03 2012 -0700
-
-    Add hotplug support to the Linux backend.
-    
-    There are two ways to configure hotplug support for Linux: udev, and netlink. It
-    is strongly recommened that udev support is used on systems that utilize udev.
-    We reenforce this recommendation by defaulting to --with-udev=yes at configure
-    time. To enable netlink support run configure with --with-udev=no. If udev
-    support is enabled all device enumeration is done with udev.
-    
-    References: #17
-
-commit e3948b8e39668f9242925622cccb0658404b5c32
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Nov 29 16:13:00 2012 -0700
-
-    Add hotplug support to the Darwin backend.
-    
-    Hotplug events are handled by the async event thread. This thread listens for
-    two events: kIOTerminatedNotification, and kIOFirstMatchNotification. If
-    either of these events fires the thread will iterate through the appropriate
-    iterator and will either enumerate or call usbi_disconnect_device depending
-    on the event.
-    
-    While adding hotplug support it was discovered that when reading from the IO
-    registry we need to use kCFNumberSInt32Type for the device location. Using
-    kCFNumberLongType would cause locations to be sign-extended and not match
-    what is stored for the session id. This is now fixed.
-
-commit c6a7a0ebba3e0ea7e82ec75a8d63ff8604d78d25
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Nov 29 14:23:26 2012 -0700
-
-    Add hotplug support. Bump the version to 1.0.15 and change the so version to
-    reflect external API changes.
-    
-    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.
-    
-    References #17
-
-commit 0350974e585a018827b648b8e4d67c08cb19307f
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Nov 29 13:53:41 2012 -0700
-
-    core: cache device descriptors in the core
-    
-    Discussion: It is necessary to cache the device descriptor in the core to
-    support reading the descriptors after a device is disconnected. We could
-    either 1) allow each backend to handle this caching (which would most
-    certainly duplicate code), or 2) cache the descritors when a device
-    is added. This patch does the later.
-    
-    Further discussion: It might be beneficial to cache more than just the
-    device descriptors in the core. It might also be worthwhile caching the
-    configuration and BOS descriptors as well.
-
-commit 8bf72124ad18461acedecc2d89adebc9b67e5b69
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sun Sep 30 11:49:01 2012 -0600
-
-    core: Keep a list of contexts (active_contexts_list) created by libusb_init. The list can be used by backends to determine which contexts need notification of device removal (and in the future device arrival). The active_contexts_list is protected from multiple access by the active_contexts_lock.
-
-commit 2fff52d3f7bee6bae121846bc83cc41bea14e13e
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Tue Oct 2 08:07:03 2012 -0600
-
-    darwin: add support for detecting superspeed devices (IOUSBFamily 5.0.0 or newer)
-
-commit be5a526f6322c6200611f5495aed6d9fbb523b2e
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sun Sep 30 10:22:30 2012 -0600
-
-    clean up tabs
-
-commit f9acbbd1a598213fe7d0bff2d06209d9af003558
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri Sep 28 22:13:09 2012 -0600
-
-    darwin: use Release instead of IODestroyPlugInInterface to avoid stopping
-    IOServices associated with a device
-    
-    Some IOService subclasses with actually stop if IODestroyPlugInInterface is
-    used to release the plugin interface. This is likely what causes the
-    keyboard and mouse to lock up. Using Release should prevent this from
-    happening.
-    
-    Fixes #139
-    Fixes #150
-    Fixes #153
-
-commit f28f03b081926fa081cef2fee9a409f7e4dc0240
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri Sep 28 21:18:36 2012 -0600
-
-    darwin: don't bother retrying or unsuspending Apple devices during
-    enumeration
-    
-    Some devices appear to cause the keyboard and mouse to lock up
-    after repeated enumeration. Try to avoid the issue by not attempting
-    to unsuspend Apple devices.
-    
-    Fixes #150
-
-commit bd7cd8e5e20d2999a31a11fca5eb32068acbcd2c
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri Sep 28 21:18:08 2012 -0600
-
-    darwin: reduce number of times libusb attempts to retrieve a device
-    descriptor during enumeration
-    
-    On failure it doesn't make sense to keep on trying to enumerate a
-    device more than a couple times. Reduce the number of tries from
-    10 down to 3.
-    
-    Fixes #151
-
-commit 7634714aa696175b08016b6f2185a75a2f55a113
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Oct 23 09:46:02 2012 +0200
-
-    configure.ac: AC_SEARCH_LIBS(clock_gettime) to be able to add -pthread
-
-commit 2799d70e471c8ab02bfac6d4efe1149e3d5ba37a
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Oct 23 09:41:31 2012 +0200
-
-    configure.ac: Move VISIBILITY_CFLAGS into AM_CFLAGS
-
-commit 62f9a648cf8a875f7572697321f4059b40ef357c
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Oct 23 09:37:47 2012 +0200
-
-    configure.ac: Move THREAD_CFLAGS into AM_CFLAGS
-
-commit 29c5786bb26bbe62122b94ae17da6c1b286006be
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Oct 23 09:27:25 2012 +0200
-
-    configure.ac: Use LIBS instead of PC_LIBS_PRIVATE
-
-commit 2b044abace76ba0095ee5dbc71a7dac75e8c8f05
-Author: Pete Batard <pete@akeo.ie>
-Date:   Wed Aug 22 01:32:10 2012 -0700
-
-    io.c: Handle >= 1 second transfer timeout in libusb_wait_for_event()
-
-commit 3b821d0a709c6b5b3094a763bb04e48ed0447050
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Aug 22 01:32:10 2012 -0700
-
-    io.c: Handle >= 1 second transfer timeout in libusb_submit_transfer()
-
-commit b7ed26c7add5528b71a205b4f04c242d3cbeab54
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Aug 4 14:27:55 2012 +0200
-
-    INSTALL_WIN.txt: Correct Windows backend webpage URL
-
-commit cf60da545c915905869fa4007fcdc5faa75fdcbb
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Aug 4 14:26:43 2012 +0200
-
-    Windows: #include <windows.h> in header files
-
-commit 36962a408b07920f2fdd61dda6bef0e9e319e7d2
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jul 29 06:22:45 2012 +0200
-
-    Windows: Remove msvc/inttypes.h
-    
-    This file might have been needed for platform abstraction, except that
-    all code shared among platforms doesn't need the file. Windows code in
-    particular does not need to use the file.
-    
-    The file was used in one single place, where the PRIu64 define has now
-    been replaced with it's value "I64u".
-
-commit 455b2d98869826db7276ddb69ce7b73f1acc9f94
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Jul 28 19:17:15 2012 +0200
-
-    libusb.h: Fix #145 libusb_ref_device() and libusb_unref_device() typos
-
-commit 53e526e21b519300aff9c9579f886cfc107b0a30
-Author: Simon Haggett <simon.haggett@realvnc.com>
-Date:   Tue Jul 10 16:07:45 2012 +0100
-
-    Windows: Stop leaking event handle when destroying condition variables
-    
-    usbi_cond_destroy() must close the handle created by usbi_cond_intwait().
-
-commit c5194b408286229ce0d94765f963890057d46ee0
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Jul 10 16:54:16 2012 +0200
-
-    io.c: Avoid timerfd race condition between completion and new submit
-    
-    An event handler thread working on transfer completion for the last
-    flying transfer with a timeout can end up racing with a call to
-    libusb_submit_transfer() from a second thread, so that the timerfd
-    gets disarmed even though libusb actually again has a transfer with
-    a timeout.
-    
-    By arming or disarming the timerfd during completion strictly
-    according to remaining flying transfers while also holding the
-    flying_transfers_lock this change ensures that a new transfer can
-    not be added to the flying list until the completion code path has
-    armed/disarmed the timerfd according to the current flying list.
-    
-    Hans de Goede describes the race condition situation in
-    http://sourceforge.net/mailarchive/message.php?msg_id=29520709
-    
-    Signed-off-by: Peter Stuge <peter@stuge.se>
-
-commit 0845ff2aeed9ad009d246ecc2a945f007817ca9a
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Jul 10 06:29:48 2012 +0200
-
-    .gitattributes: Set INSTALL_WIN.txt eol=crlf attribute
-
-commit cd8e76f0b1f47271c4059cd6c1e67e23f0e247a8
-Author: Pete Batard <pete@akeo.ie>
-Date:   Thu May 10 16:44:30 2012 +0100
-
-    Windows: Add INSTALL_WIN.txt
-    
-    libusbx.git commit 75b1cf81db74357f55cc4d0f596ef19a6a25c5cd
-    
-    [stuge: Remove trailing whitespace]
-
-commit 3bd6db0b8f60143836f5a933f35b15d764fbc7dc
-Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
-Date:   Wed May 9 09:13:41 2012 +0200
-
-    examples/Makefile.am: Use the implicit _SOURCES rule
-    
-    By default automake looks for a source file foo.c for a foo binary.
-    
-    libusbx.git commit 7e52e1e7534ead3f66b13bdcb28ac8587ff47ab0
-
-commit 1bd831c4e88857bff2f1670c89eda1d04da1cc54
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue Jul 10 01:46:38 2012 +0200
-
-    io.c: Only disarm timerfd when no flying transfer has a timeout
-    
-    Commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c made libusb work
-    correctly when built to use timerfd but run on a kernel without
-    timerfd support. The commit unfortunately also broke the logic
-    during transfer completion which decides if the timerfd will be
-    disarmed or not, and disarm_timerfd() was called even if the
-    timerfd had already been armed with the next flying transfer
-    timeout.
-    
-    Before the offending commit the timerfd would be disarmed only
-    when arm_timerfd_for_next_timeout() reported that there was no
-    flying transfer with a timeout. Let's restore that behavior.
-    
-    The bug was spotted through code review both by the author and
-    by Hans de Goede, but was not squashed until Vincent Pellier
-    experienced transfers never timing out, and helped confirm
-    the source of the problem. Many thanks!
-    
-    References #73.
-
-commit ae996af002793005db318689229300ff73549964
-Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
-Date:   Tue May 8 20:34:12 2012 +0200
-
-    Darwin: Fix warning: comparison between signed and unsigned
-    
-    libusbx.git commit c5c6b0e69a13786e48b2b6254c8e5458dc6716cc
-
-commit 0f29541c6728c9c2159080267b43e9b4144e9e56
-Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
-Date:   Tue May 8 15:53:56 2012 +0200
-
-    Core: Return LIBUSB_ERROR_IO on sync API TRANSFER_ERROR and _CANCELLED
-    
-    This is much more appropriate and also fixes gcc -Wswitch-enum warnings.
-    
-    libusbx.git commit 30ccbd773bc02d5dfd21e02bfba6d58234f59393
-
-commit 133092314d539d4c1a37997bb0c4ccfbcacb4677
-Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
-Date:   Fri May 4 16:56:00 2012 +0100
-
-    autogen.sh: Correctly pass arguments containing spaces to configure
-    
-    libusbx.git commit d20cd4f3573fe74d0ec5a4e1d60c9d291547ace4
-
-commit 8dc8b977d796b227f59eb5a7b247b38e27748d52
-Author: Ludovic Rousseau <ludovic.rousseau@gmail.com>
-Date:   Fri May 4 16:56:00 2012 +0100
-
-    autogen.sh: Exit script on first error
-    
-    libusbx.git commit c74fe3ab703a28c6d8c3755213e3736c5d1eb35e
-
-commit d8e35a560dfada578c6f6dea520d7d908b002001
-Author: Toby Gray <toby.gray@realvnc.com>
-Date:   Thu May 3 11:25:11 2012 +0100
-
-    Windows: Fix deadlock when submitting transfers
-    
-    The Windows backend needed to call usbi_fd_notification() from
-    submit_transfer() because a new event source is added for every WinUSB
-    transfer. This could cause a deadlock when attempting to lock the event
-    lock if another thread was processing events on the just-submitted
-    transfer.
-    
-    The deadlock comes about as the thread calling libusb_submit_transfer()
-    acquires the transfer mutex before trying to acquire the event lock; this
-    is the other order of lock acquisition from an event thread handling
-    activity on the just submitted transfer. This could lead to one of two
-    deadlocks:
-    
-    1) If the transfer completes while usbi_fd_notification() is waiting for
-    the event lock and the callback attempts to resubmit the transfer.
-    
-    2) If the transfer timeout is hit while usbi_fd_notification() is waiting
-    for the event lock then the attempt to cancel the transfer will deadlock.
-    
-    This patch fixes both of these deadlocks by having libusb_submit_transfer()
-    only call usbi_fd_notification() after having released the transfer mutex.
-    
-    This deadlock was always present in the Windows code, but temporarily
-    deleted by mistake in commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
-    and later restored in commit 325a8416697cf69b9b926ed68720f12b1aedf940.
-    
-    libusbx.git commit 1ed09c7b2a5fc27c3cfea21740584879781bff67
-    
-    [stuge: Touch up commit message]
-
-commit b988c3d66e349b4f3c430410a42b6203f4fef80f
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jun 3 21:28:13 2012 +0200
-
-    Clean up broken whitespace in list_for_each_entry() macros
-    
-    Introduced by commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa.
-
-commit f651b2669c6ab0804d572650d79551bc2b70f525
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 8 19:50:17 2012 +0200
-
-    examples: Add sam3u_benchmark isochronous example by Harald Welte
-    
-    Copied with the author's permission under LGPL-2.1 from
-    usb-benchmark-project/host/benchmark.c in
-    git://git.gnumonks.org/sam3u-tests.git commit
-    74959f7ee88f1597286cd435f312a8ff52c56b7e
-    
-    http://git.gnumonks.org/cgi-bin/gitweb.cgi?p=sam3u-tests.git;a=blob;f=usb-benchmark-project/host/benchmark.c;h=74959f7ee88f1597286cd435f312a8ff52c56b7e
-    
-    An Atmel SAM3U test firmware is also available in the above repository.
-
-commit 3a69eff1aaf8e3242937bd7ecc94a60e7aa502cd
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 8 19:22:31 2012 +0200
-
-    examples: Only check for HAVE_SIGACTION once in Makefile.am
-
-commit d9dbb433f3f3b9787417e34316604d99cb72b188
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 8 19:19:28 2012 +0200
-
-    .gitignore: Add examples/ path to the examples
-
-commit a129732fb45fc424743f26f01c906e4514f11521
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 8 19:14:40 2012 +0200
-
-    examples: Use a common LDADD for all examples
-
-commit 325a8416697cf69b9b926ed68720f12b1aedf940
-Author: Uri Lublin <uril@redhat.com>
-Date:   Tue May 1 16:47:34 2012 +0300
-
-    Windows: Make new transfers correctly notify the event handling thread
-    
-    usbi_fd_notification() calls are added back into submit_*_transfer()
-    so that the event handling thread will be aware of new transfers.
-    
-    libusb.git commit 6506013c6d4face34cfec79dd0584e9f528cbc6a from
-    libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159 removed
-    these calls during the removal of the DYNAMIC_FDS Windows-specific
-    
-    [stuge: Rewrite commit message]
-
-commit 4674b4d137df2e2e49a1057c947888de8f37d6e8
-Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
-Date:   Fri Apr 20 22:25:38 2012 +0100
-
-    Linux: Fix warning: comparison between signed and unsigned
-    
-    libusbx.git commit 36a7119bf296cecd4e910bef86908fd782224960
-
-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.
-    
-    [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]
-
-commit e16805130a04b2642891e86b8f479e6343ca17da
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Sep 14 02:30:18 2011 +0200
-
-    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.
-
-commit 2dc2fa2a56408e515d25359323b4ea2f1bbec14a
-Author: Sebastian Pipping <sebastian@pipping.org>
-Date:   Tue Sep 13 20:38:26 2011 +0200
-
-    Fix typos in introductory documentation
-
-commit 0a828082aeedc6d19b6de4e3b10cc9762352fa7f
-Author: Pekka Nikander <pekka.nikander@senseg.com>
-Date:   Tue Sep 13 18:57:43 2011 +0200
-
-    Linux: Add libusb_open() debug and error messages with the device path
-    
-    Fixes #109.
-
-commit 6583372125d73543fe0db9fdc59850b9c6aa50d9
-Author: Pekka Nikander <pekka.nikander@senseg.com>
-Date:   Tue Sep 13 18:52:36 2011 +0200
-
-    Add debug message with libusb_open() error code
-    
-    References #109.
-
-commit f797ecb3b4e653594f8ebc0c9d9e2ca579062779
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Mon Sep 12 18:11:20 2011 +0200
-
-    Document libusb_handle_events_completed() and _timeout_completed()
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-    [stuge: Note that the old racy functions should be avoided by new code]
-
-commit 6696512aade99bb15d6792af90ae329af270eba6
-Author: Graeme Gill <graeme2@argyllcms.com>
-Date:   Sat Sep 10 15:47:05 2011 +0200
-
-    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]
-
-commit cfee5446cdb2974c1e90c7c379a365c495975aef
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Fri Aug 26 23:06:40 2011 -0600
-
-    Darwin: Use a condition to signal async thread ready in libusb_init()
-
-commit d1bd234f7e1b1ff4168b8f605e2038e87a0e361f
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Jul 21 22:34:12 2011 -0600
-
-    Fix #64 use of reserved identifiers throughout libusb
-
-commit a97762a8a121de1ad3deb9e861088b69bb6a155b
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Jul 21 22:31:09 2011 -0600
-
-    Darwin: fix libusb_get_device_list() and libusb_claim_interface() leaks
-
-commit 8723df191fcedc6161732fd06d12df392c6dea3f
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu Jul 21 22:28:47 2011 -0600
-
-    Darwin: use kIOMasterPortDefault instead of creating a master port
-
-commit 0eb7e43759003610d1afe6148aa6ff4f5859ccb0
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Jul 27 03:15:03 2011 +0200
-
-    Allow devices with zero configurations to be discovered
-    
-    At least in Linux, wireless USB devices have zero configurations until
-    they have been authorized. This device state can be set for any USB
-    device using:
-    
-    echo 0 > /sys/bus/usb/devices/?-?/authorized
-    
-    An unauthorized device would previously make usbi_sanitize_device()
-    return LIBUSB_ERROR_IO, although there really was no I/O error.
-    
-    Reported-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-
-commit 5010c3e80423d13acee6eeb4af974e8a9bcdd006
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Jul 27 06:17:48 2011 +0200
-
-    Linux: Continue enumeration even if one device returns an error
-
-commit 2bf8848fb5c85ace0f445c0820a0c173cf76bf43
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Fri Jun 17 10:19:00 2011 +0200
-
-    Linux: Handle single- and two-digit kernel versions like 3.0 and 4
-    
-    The code has been tested with various version strings.
-    
-    [stuge: Remove bogus string length check and optimize for newer kernels]
-
-commit 0288bf24f91eca9f433ebad91a7eb6c0e3e29133
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Thu Mar 3 18:35:35 2011 +0000
-
-    Windows: Provide libusb_get_device_speed() data
-    
-    * use (currently superspeed unaware) USB_NODE_CONNECTION_INFORMATION_EX
-    
-    Fixes #45.
-    
-    [stuge: Explicitly convert OS device speeds to libusb device speeds]
-    [pbatard: Add breaks overlooked when adding explicit conversion]
-
-commit 382b7deaadd7e2f1d08c9e921e460bb3abf130b2
-Author: Trygve Laugstøl <trygvis@inamo.no>
-Date:   Tue Jul 19 23:20:40 2011 +0200
-
-    Darwin: Provide libusb_get_device_speed() data
-    
-    References #45.
-
-commit 44d6319f57e7e2c77347da228ed032e62716b438
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Feb 17 15:06:40 2011 +0100
-
-    Linux: Provide libusb_get_device_speed() data from sysfs
-    
-    References #45.
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-commit c8c40bcbd22abca922ff31c4ed6a75fd7af78b59
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Feb 17 13:17:55 2011 +0100
-
-    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>
-
-commit 0db8cba7f2c372f0127c7df9724e5a35e93f2069
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sun Mar 20 00:25:44 2011 -0600
-
-    Darwin: Improve device enumeration performance
-    
-    The device location is saved, and later used whenever iterating over
-    devices. Fixes #111 and #112.
-    
-    [stuge: Formatting fixes and split out libusb_get_device_speed() change]
-    [stuge: Combine with patch that uses the saved device location]
-
-commit 511ec4301deb516691e39e3df5b90fe28cb2bb0f
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Feb 17 12:49:36 2011 +0100
-
-    Linux: Use __read_sysfs_attr() to get busnum and devaddr
-    
-    Remove code duplication.
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-commit e05bbc59ca7b896e2b825bde59bf883ac8c09f5c
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Feb 17 12:45:10 2011 +0100
-
-    Linux: Add __read_sysfs_attr() helper function
-    
-    On Linux we often need to read (postive) integers from sysfs. This patch
-    adds a helper function for this. This is a preparation patch for adding
-    a libusb_get_device_speed() function to libusb.
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-commit 20e26dda0f86dafa3436b152e090b5f3410c8ce4
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Tue Feb 8 16:37:18 2011 +0100
-
-    Linux: Stop kernel from re-attaching in-kernel driver after reset
-    
-    When an interface is bound to the usbfs driver (iow claimed), the
-    kernel will unbind it, and then after the reset do a device_attach
-    on the interface, which will bind the default in kernel driver to
-    the interface.
-    
-    So if an app has detached the in kernel driver, and claimed the
-    interface and then does a libusb_reset_device. Things end up with
-    the interface no longer being bound to the usbfs driver (so no longer
-    claimed) and instead it is bound to the in kernel driver (iow the in
-    kernel driver is re-attached).
-    
-    We can stop this from happening by releasing all claimed interfaces
-    before the reset, as the kernel will not do the device attach after
-    reset, if no driver was bound to the interface before the reset.
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-commit 4e294dc9848aab86b31d2fff228cf97e7eadf913
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Thu Feb 17 12:35:46 2011 +0100
-
-    Core: Use USB_MAXINTERFACES rather then sizeof(claimed_interfaces)
-    
-    claimed_interfaces is a long and thus its size differs on 32
-    versus 64 bits, this patch uses USB_MAXINTERFACES instead of
-    sizeof(claimed_interfaces) on interface number range checks
-    for consistent behavior independent of the arch.
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-commit a68f956dd4c29d6ed799f04f07a3346317843999
-Author: Hans de Goede <hdegoede@redhat.com>
-Date:   Wed Feb 9 12:40:35 2011 +0100
-
-    Linux: Fix warnings seen when compiling with gcc-4.6
-    
-    Compiling with gcc-4.6 results in the following warnings:
-    os/linux_usbfs.c: In function 'op_get_configuration':
-    os/linux_usbfs.c:1144:6: warning: variable 'r' set but not used ...
-    os/linux_usbfs.c: In function 'op_handle_events':
-    os/linux_usbfs.c:2091:40: warning: 'status' may be used uninitialized ...
-    os/linux_usbfs.c:2044:6: note: 'status' was declared here
-    dpfp.c: In function 'save_to_file':
-    dpfp.c:228:9: warning: variable 'ignore' set but not used ...
-    dpfp_threaded.c: In function 'save_to_file':
-    dpfp_threaded.c:257:9: warning: variable 'ignore' set but not used ...
-    
-    This patch fixes these. (The second comes from handle_control_completion()
-    which gcc seems to inline into op_handle_events().)
-    
-    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-    [stuge: Add fixes for dpfp examples and update source references]
-
-commit 209b5ccd827039b933b730e3f29abd0d72d3c6c6
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Tue Jun 14 08:51:57 2011 +0200
-
-    Darwin: Fix #108 crash when a device is unplugged
-
-commit d3543e9140536a9751811b44f8496489be1e6bb7
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Jun 13 22:58:23 2011 +0200
-
-    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
-
-commit 08bc7ffb6a3b65afc6795cd048a890ee8da7d954
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Jun 13 22:53:40 2011 +0200
-
-    libusb.h: Add LIBUSB_CLASS_IMAGE in addition to LIBUSB_CLASS_PTP
-    
-    The old LIBUSB_CLASS_PTP name is kept for compatibility. Fixes #106.
-
-commit 3d7938d85a33cd98553c0c898a8dd0490826b077
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Jun 13 22:52:48 2011 +0200
-
-    libusb.h: Fix LIBUSB_CLASS_PRINTER description typo
-    
-    References #106.
-
-commit 5d0526af1a922afab02cdbdf4bb7078702759571
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Fri Feb 11 11:28:04 2011 -0500
-
-    Darwin: Fix #100 warning cast to pointer from integer of different size
-
-commit bb8854ff5680136e29b57505300f131c2646f258
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Mon Jun 13 22:26:43 2011 +0200
-
-    configure.ac: Fix #97 clang warning about -fgnu89-inline
-    
-    Remove the test that sets the flag since GNU89 inline semantics are not
-    required by libusb.
-    
-    [stuge: Also remove reference to the test result]
-
-commit cb3c2e488f298b78027c9d5fc0bec0e5ba27d761
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed Jun 15 01:38:58 2011 +0200
-
-    Windows: Make cancel_io() in poll_windows.c static
-    
-    References #97.
-
-commit 6635dbb4acb5ee556a020e431b15c954edfcbd29
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Jun 13 22:21:02 2011 +0200
-
-    Windows: Make upperize() in windows_usb.h static
-    
-    References #97.
-
-commit 9479ce9dae3d0dbe2ce693bd02ccceb018a75fe9
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Wed Mar 16 17:33:57 2011 -0700
-
-    descriptor.c: Fix buffer read overflow caught by valgrind
-    
-    In parse_interface() an unexpected descriptor would be parsed without
-    validating the descriptor's length.  It is possible for size to be 0 at
-    this point, which means that the parsing would read past the end of the
-    source buffer.  Fix #83 by checking the length of the remaining buffer
-    before parsing.
-
-commit c775c2f43037cd235b65410583179195e25f9c4a
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Wed Mar 16 19:51:40 2011 -0700
-
-    Clean up in-flight transfers and device handle when closing a device
-    
-    Any in-flight transfers should properly invalidate their references
-    to device handles that are being closed.  Additionally, they should be
-    removed from the transfer-in-flight list.  This is done with the events
-    lock held to protect against another thread processing the same transfer.
-    The events lock is initialized as a recursive mutex, because the device
-    close code might itself be called while an event is being handled.
-    Fixes #82.
-    
-    [stuge: Trivial rework to reduce indenting]
-
-commit 74282582cc879f091ad1d847411337bc3fa78a2b
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Wed Mar 16 19:43:30 2011 -0700
-
-    Add recursive mutexes to threading abstraction
-    
-    This is necessary for the device close path which needs to attain the
-    events lock, but which might itself be called while handling an event.
-    The events lock is necessary to properly clean up transfers which might
-    still be pointing to the device. References #82.
-    
-    [stuge: Move usbi_mutex_init_recursive() into threads_posix.c]
-    [stuge: Must also #define _XOPEN_SOURCE 500 to be able to build]
-    [pbatard: Un-inline usbi_mutex_init_recursive() to make Cygwin happy]
-
-commit 8f1bc0659136faf312dabe8fe67380a798299d33
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Wed Mar 16 19:48:35 2011 -0700
-
-    Add USBI_TRANSFER_CANCELLING and _DEVICE_DISAPPEARED status flags
-    
-    The flags are used to indicate if a cancellation has started, and if
-    a cancellation has failed because the device is no longer available.
-    References #82.
-
-commit 87ba8a9ead4fd9e81ae3c5a894f698779de1f2c2
-Author: Vitali Lovich <vlovich@aliph.com>
-Date:   Wed Mar 16 19:50:04 2011 -0700
-
-    Linux: Detect and report that device has gone away while discarding URBs
-    
-    Return LIBUSB_ERROR_NO_DEVICE if the device is no longer available
-    (ENODEV) to discard the urbs. References #82.
-
-commit 2c85c363cddd72b9ab425f05e2ee03e0b1df24f1
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Jun 6 02:46:46 2011 +0200
-
-    libusbi.h: Add comma after last value in enum usbi_transfer_flags
-
-commit 5d7be3e1337f2444097504931ac0f2f0997b2b05
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jun 5 23:28:07 2011 +0200
-
-    threads_posix.h: Whitespace fix
-
-commit 18db4813e844fc6929680afcc9b793abcb06876a
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jun 5 23:21:08 2011 +0200
-
-    libusb/Makefile.am: Correct threading files in libusb_1_0_la_SOURCES
-
-commit 5f30c81f66e8dd61f8eae16de548697708f9bd18
-Author: Alan Ott <alan@signal11.us>
-Date:   Thu Jul 21 16:37:48 2011 +0200
-
-    Linux: Fix #70 race condition in sysfs_get_device_list()
-    
-    Change the way libusb chooses between using sysfs and usbfs for information
-    about the attached devies.  Using the old method, a race condition could
-    occur if a device was unplugged just before (or during) the call to
-    libusb_get_device_list(), corrupting the internal sysfs_can_relate_devices
-    and sysfs_has_descriptors variables and preventing libusb_get_device_list()
-    from working in future calls.
-    
-    The old method was based on the assumption that if certain sysfs files
-    (eg: busnum) could not be opened, that indicated an inadequacy of sysfs
-    (ie: the running kernel's sysfs version did not contain those files),
-    when in reality those files couldn't be opened because the device had
-    been unplugged.
-    
-    The new method checks the adequacy of sysfs during libusb_init()
-    (op_init()) and if a sysfs file cannot be opened, it is now assumed that
-    it is because the device has been unplugged, not because sysfs is
-    inadequate.
-    
-    Signed-off-by: Alan Ott <alan@signal11.us>
-    [stuge: Include closedir() bugfix posted in ticket by Arne Laansoo]
-    [stuge: Remove dead code in sysfs_scan_device() found by Hans de Goede]
-
-commit 40327cd134718475f6cec8935b856d4fdff2099c
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Thu Feb 10 17:11:29 2011 -0500
-
-    Darwin: Fix #63 error when apps use Objective-C garbage collection
-
-commit 3ba2fae24886fec89410e5f2295f65363edcc2df
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Fri Feb 5 11:50:34 2010 -0500
-
-    Darwin: Fix #28 clang analyzer warning about unbalanced retain/release
-
-commit b67120f047f7eafa15c88c66fa61cef40805ec1f
-Author: Sean McBride <sean@rogue-research.com>
-Date:   Fri Feb 5 11:50:34 2010 -0500
-
-    io.c: Fix clang analyzer warning about unused variable
-    
-    References #28.
-
-commit 51af85d03a098d7d99ea544e8e9535b5476bab33
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 10 10:44:18 2011 +0200
-
-    .gitignore: Add m4 subdirectory created by libtool
-
-commit c569e5b3b314538f45d0b3b6f14ce3dbdfee1be9
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Mon Nov 15 14:45:50 2010 +0100
-
-    Linux: Do not include useless pthread.h
-    
-    The code does not use threads so no need to #include <pthread.h>
-    Fixes #74.
-
-commit 82af9f9d440ef49015652c699157cf62020f097a
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:41:05 2011 +0000
-
-    Windows: minor code improvements
-    
-    * mostly warnings from VS2010's Intellisense
-
-commit 7e636dbe06001b9ac68e452a2fdc05e33fbb4e3a
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:40:39 2011 +0000
-
-    Windows: prevent set_configuration request from being sent using WinUSB
-    
-    * multiple WinUSB set configuration requests can stall a device and
-      WinUSB does not support setting of alt configuration in the first place
-    * issue reported and investigated by Xiaofan Chen
-
-commit 578c50c99646e5ebbcfbea653524a519b843ebcd
-Author: Graeme Gill <graeme@argyllcms.com>
-Date:   Tue Mar 8 17:39:16 2011 +0000
-
-    Windows: fixed default WinUSB timeout and ineffective policy settings
-    
-    * default WinUSB timeout was 5 seconds, which may be to small.
-      PIPE_TRANSFER_TIMEOUT policy is now set to infinite for all EPs.
-    * other WinUSB policy settings were called before the endpoints
-      had been set. This is now fixed.
-
-commit 25fa63ea1cfe02e784cb62d3b869fd15e62b5b6e
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:37:40 2011 +0000
-
-    Windows: Don't leak pipe fds
-    
-    use _open() and _close() rather than _open_osfhandle() and CloseHandle()
-    
-    * use of CloseHandle() prevented the pipe fds from being
-      relinquished on libusb_exit()
-    * leaked fds could lead to the OS running out of new fds
-      and LIBUSB_ERROR_NO_MEM being returned as a result
-    * using _open() avoids _open_osfhandle() redef for cygwin
-    * issue reported by Stephano Antonelli
-
-commit 3ccd9bddec316ee4b867959fd7f616eb4d410997
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 10 10:05:29 2011 +0200
-
-    Windows: enumeration overhaul
-    
-    * uses multiple passes in a single call
-    * uses a hash table, in anticipation for hotplug
-    * adds a (dummy) HUB interface for harmonization
-    * adds calloc on device struct creation in core
-      (to detect and avoid unnecessary double initialization)
-
-commit bb108cbe39802785d10fe025b74ca5ee19734151
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue May 10 00:56:18 2011 +0100
-
-    Windows: MS project files part 4 - MSVC6 project files
-    
-    Fixes #57 and #1.
-
-commit 78896ae99b9c2d5672fc93c5bad0f5e8e75c53ea
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue May 10 00:53:09 2011 +0100
-
-    Windows: MS project files part 3 - VS2005 project files
-    
-    References #57.
-
-commit 9e5f4277e379a82f5d32e81db1bd0ffaa6637596
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue May 10 00:38:49 2011 +0100
-
-    Windows: MS project files part 2 - WDK project files
-    
-    References #57.
-
-commit c1e75431418cdfc10ec963d823fce479cdae6840
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue May 10 00:38:12 2011 +0100
-
-    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.
-
-commit 85a14f43e0ce27cd47f84fdaeacbaa81cebdb886
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon May 9 08:12:24 2011 +0200
-
-    Move library version number from configure.ac to libusb/version.h
-    
-    This is neccessary to support native MS builds. The Windows resource
-    file libusb/libusb-1.0.rc must include the release version, which was
-    previously only available after configure had run and had substituted
-    the numbers into a generated libusb/libusb-1.0.rc file.
-    
-    The version atoms are now stored as CPP style #defines in libusb/version.h
-    so that the .rc no longer needs to be generated but can simply include the
-    header file and access the version information directly.
-    
-    The m4 macro LU_DEFINE_VERSION_ATOM() was added to configure.ac to get
-    version atoms from libusb/version.h for use in AC_INIT(). The macro
-    handles C and C++ style comments in version.h, but can easily be made
-    to fail by obscuring the file. Please don't do that.
-    
-    Tested with MinGW using autoconf, and manual compile of libusb-1.0.rc
-    using RC.EXE Version 5.2.3690.0 from Visual C++ 2005 Express Edition.
-
-commit 3481f52b014110f6c291e5a15e79ba774dcdfacf
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 10 08:36:32 2011 +0200
-
-    Windows: Debug builds create the same .dll file name as non-debug
-    
-    Thanks to Pete for pointing this out!
-
-commit 9da8cf5c9ed9bd381a77d8170fc0556edbcce4dc
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:18:48 2011 +0000
-
-    Windows: explicit use of ANSI or WideChar calls
-    
-    * This is in anticipation of adding MSVC project files
-      that use Unicode rather than MBCS
-
-commit ae675c1f49dc00b695fce7296903f60998cc28ed
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:16:23 2011 +0000
-
-    Windows: Remove SetupAPI, AdvAPI32 and OLE32 link-time dependencies
-    
-    * this ensures that libusb dependent applications only need
-      to explicitly link against libusb on Windows
-    
-    The run-time dependency on Cfgmgr32.dll, OLE32.dll and SetupAPI.dll remains.
-
-commit 356e312511e4892977636da52ec497ad2c716032
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Mar 8 17:12:33 2011 +0000
-
-    Add .gitattributes to avoid Windows line ending issues with autocrlf
-
-commit 61c120f025f3dee04eeb88159d7c0403a8bf91fe
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Feb 27 09:37:54 2011 +0100
-
-    Windows: Touch up FileDescription and ProductName resource strings
-
-commit 99b4ddcd893834a4be8b5884037b650e57ba0ba2
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Feb 27 07:20:40 2011 +0100
-
-    Windows: Remove emulated direct device access via HID API
-    
-    Either use a library such as HIDAPI to communicate with HID class
-    devices, or replace the kernel driver for the device with one that
-    offers support for the complete libusb API.
-
-commit 4be84ab49c838d534d3a1b8a64ffa89774984ee7
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Feb 27 06:59:15 2011 +0100
-
-    Revert libusb_strerror() until we have i18n and l10n
-
-commit 0e177f22fcc69d9aab6fb410e85f3413f478c94c
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed Jan 19 14:00:12 2011 +0000
-
-    dpfp_threaded: return instead of pthread_exit() to avoid Cygwin warning
-
-commit e65878f21b0a0bb96debcb292dc03ce3c4ebb701
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed Jan 19 13:52:08 2011 +0000
-
-    Windows: Rename various variables named "index" to avoid shadow warnings
-
-commit 019bf73bb2677dc7720bc8280527316adcbaa506
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:50:53 2010 +0100
-
-    Windows: Fix logic in enumeration of driver name and port number
-
-commit 24494ed5db27737fc607fc35dda722521c9fe4d4
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:50:13 2010 +0100
-
-    Windows: Allow claiming any interface in composite device using WinUSB
-    
-    Issue reported by Benjamin Dobell, see #48. The call to
-    WinUsb_QueryInterfaceSettings() is removed since it doesn't work
-    on any other interface but the first (a WinUSB limitation).
-    
-    This allows the use of WinUSB.sys in lieu of the usbccgp.sys
-    "USB Generic Parent" default driver for composite devices.
-
-commit 9c8e6545f2fbb171f81a9451eaf2d09e1fbc13b3
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:47:15 2010 +0100
-
-    Windows: Allow arbitrary bConfigurationValue in config descriptors
-    
-    Unlike bInterfaceNumber, bConfigurationValue does not have to be
-    either sequential or contiguous. The bConfigurationValue is now
-    included in debug output. Fixes #48 reported by Benjamin Dobell.
-
-commit dcd002974e511879320233fd5b0600e06bdc5620
-Author: Thomas Röfer <Thomas.Roefer@dfki.de>
-Date:   Fri Nov 19 22:03:11 2010 +0100
-
-    Darwin: Schedule isochronous transfers further in the future
-    
-    This is required to make OpenKinect transfer data at 30 fps. This
-    change was originally made by Theo Watson, and Thomas improved on it.
-    The commit came via OpenKinect into libusb thanks to Kyle Machulis and
-    Hector Martin. Fixes #66.
-
-commit e83fad33dbaf9f37811da6d4cd9d3be554817944
-Author: Thomas Röfer <Thomas.Roefer@dfki.de>
-Date:   Fri Nov 19 22:03:11 2010 +0100
-
-    Darwin: Fix #65 memory leak in submit_iso_transfer()
-    
-    This was also independently fixed by Hoi-Ho Chan, but Thomas caught
-    an additional problem with his fix.
-    
-    This commit came via OpenKinect into libusb thanks to Kyle Machulis
-    and Hector Martin.
-
-commit 1a2d21fe42ad5a157651c787e2f500fc162c325b
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Feb 26 04:21:05 2011 +0100
-
-    configure.ac: Refactor Windows backend settings into one occurence
-    
-    The Windows backend is used both with MinGW and Cygwin, and since most
-    settings are identical they can be set in one place.
-
-commit 717f47621d18de16b87e237f3740299f43e4ca1c
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Nov 15 19:58:51 2010 +0100
-
-    configure.ac: Rename AM_LDFLAGS to LTLDFLAGS and actually use them
-    
-    The new variable name tries to clarify that libtool is being used.
-    Linker flags must thus always be specified with -Wl.
-    
-    Factor out the libtool flag -no-undefined from host specific cases.
-    The flag is required to build a Windows DLL, but is correct also for
-    the other supported systems.
-    
-    Also, start actually using LTLDFLAGS in libusb/Makefile.am, so that
-    libtool will see the options set by configure.
-
-commit 3cbe5736469c1c52049752c137ae11387e9b079d
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Nov 21 23:38:46 2010 +0100
-
-    configure.ac: Clean up PC_LIBS_PRIVATE and AM_LDFLAGS
-    
-    Move linker options for when linking the library itself from
-    PC_LIBS_PRIVATE into AM_LDFLAGS. PC_LIBS_PRIVATE should only
-    contain flags needed to link applications statically against libusb.
-    Fixes #72.
-
-commit ef39d1510580b9fcbacf13443fa7a4e553a9a88e
-Author: Peter Stuge <peter@stuge.se>
-Date:   Fri Feb 25 02:33:29 2011 +0100
-
-    configure.ac: Call AC_CONFIG_FILES() for each output file
-    
-    This avoids a problem with Windows line endings.
-
-commit 6e52ea067711e6e7e1b2882757fb61b11b6f8feb
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Nov 21 23:37:27 2010 +0100
-
-    configure.ac: Whitespace changes and trivial reordering
-
-commit 44b85dabc3f4efe0918a598f981675aa3765cc26
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Nov 21 23:10:35 2010 +0100
-
-    configure.ac: Quote AC_COMPILE_IFELSE() input
-
-commit 19d5882c398e49a453ff78494db23b7f4d13c37c
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Nov 21 23:09:02 2010 +0100
-
-    configure.ac: Define booleans to 1 when set, instead of an empty string
-    
-    This makes the generated config.h look a lot nicer.
-
-commit c24649d796c8b5c97af79a41856422def2e593bc
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Oct 30 22:28:59 2010 +0200
-
-    configure.ac: Clean up redundancy and fix LIBS on Linux
-    
-    LIBS, AM_LDFLAGS, OS_ conditionals and THREADS_POSIX had a bit of
-    redundancy throughout the file, and on Linux LIBS ended up missing
-    the -pthread flag.
-
-commit 0bd4a4dd89ff64b99ab55bfc0c5782502c10c676
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Feb 26 04:08:38 2011 +0100
-
-    configure.ac: Touch up Darwin and Cygwin OS messages
-
-commit 16cf11a1213272afd616598fa3aba0941e66ec3c
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Oct 30 22:13:05 2010 +0200
-
-    configure.ac: Do not use -pthread on Darwin
-    
-    It's not needed because Darwin has POSIX Threads in libc. Fixes #96.
-
-commit a120747d561929682cd0276ea4c13fb22fad8554
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Oct 30 22:07:37 2010 +0200
-
-    configure.ac: Check for poll.h, and for nfds_t on Darwin
-    
-    On Linux, assume nfds_t is always available.
-    
-    On Darwin, fall back to unsigned int when poll() exists but there
-    is no nfds_t, such as on Mac OS X before 10.4.
-    
-    On Windows (both MinGW and Cygwin), always use unsigned int instead
-    of nfds_t, and don't check for poll.h because we use our own poll()
-    implementation.
-
-commit 21d03d12f92c0d9bd7990861ca0ebf5009f82799
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Tue Oct 5 20:08:08 2010 -0600
-
-    Darwin: Add support for control requests on endpoints other than 0
-    
-    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
-
-commit 9bfacd760b40f1137a7835198c6028cbdaddeb18
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Tue Oct 5 23:11:50 2010 -0600
-
-    Darwin: Add more error checking for libusb_open()
-    
-    Now also check the CreateDeviceAsyncEventSource() return code for errors.
-    
-    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
-
-commit 478cd4a30728595fd742aa192d8149ee4216d4bc
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Nov 3 21:46:53 2010 +0100
-
-    Core: libusb_get_next_timeout() must consider all flying transfers
-    
-    If transfer->flags indicated that a transfer had a timeout, but no
-    timeout was actually set, then libusb_get_next_timeout() would look
-    no further for a timeout, ignoring any transfers later in the list
-    which had a timeout set.
-    
-    Since libusb has an internal 60 second timeout this bug could not
-    cause complete lockup, but it could cause a 60 second timeout even
-    when a transfer was submitted with a shorter timeout.
-
-commit 7802e4a3e38bcefccf96ae510ec2c6b7a959b8b5
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Mon Nov 15 14:55:51 2010 +0100
-
-    Linux: Correctly catch read() errors for sysfs config descriptors
-    
-    read(2) returns ssize_t (signed) and not size_t (unsigned) or int.
-    
-    Silence "warning: comparison of unsigned expression < 0 is always false"
-    and fix #75.
-
-commit 4c7f3c8c3012bddba058afd2abdda792944fcda1
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jan 23 04:01:25 2011 +0100
-
-    Linux: Refactor cancellation into one function for all transfer types
-
-commit 011f1f297bc134188fab9960da1b1b9f0bd541aa
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Oct 17 08:19:56 2010 +0200
-
-    Linux: Refactor discarding of URBs into a function and return all errors
-    
-    The Linux backend did not always return errors according to the
-    libusb_cancel_transfer() documentation.
-
-commit 26246df19cb4d88954a5aa9ed5f6b859e451df85
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Jan 23 04:01:01 2011 +0100
-
-    Linux: Set private number of URBs also for control transfers
-
-commit 295c9d12e25bc2dbdd8b42bd67a1f7120f0631a1
-Author: Alan Stern <stern@rowland.harvard.edu>
-Date:   Sun Oct 17 06:57:06 2010 +0200
-
-    Linux: cancel URBs in reverse order
-    
-    In a multi-URB transfer, URBs should be cancelled in reverse order of
-    submission. This prevents races that might otherwise occur (after URB N
-    is cancelled, data may be transferred for URB N+1 before it too can be
-    cancelled). Fixes #8.
-
-commit 07df377a5df25e9c1811b554dc00eb8c40e5b995
-Author: Alan Stern <stern@rowland.harvard.edu>
-Date:   Sun Oct 17 04:17:32 2010 +0200
-
-    Linux: report correct value for urb->actual_length
-    
-    Transferred bytes are returned correctly by the kernel for every URB,
-    even when an error occurs.  Hence they should always be included in
-    the transfer statistics.  The same is true for isochronous packet
-    length and status.
-    
-    [stuge: set itransfer->transferred so data is stored at correct offset]
-
-commit b26db49208c7a6ef0a99645142af21ce80c57c22
-Author: Alan Stern <stern@rowland.harvard.edu>
-Date:   Fri Oct 22 11:13:34 2010 +0200
-
-    Linux: improve reporting of URB error status codes
-    
-    Fix the way overflow errors are handled (they can occur in any
-    transaction, not just the last one in a transfer) and add tests
-    for other commonly-occuring error statuses.
-
-commit efc29733ad31f81883a7ac51a6cc6cda9ad4feb9
-Author: Alan Stern <stern@rowland.harvard.edu>
-Date:   Tue Oct 5 11:08:40 2010 -0400
-
-    Linux: improve detection of BULK_CONTINUATION kernel support
-    
-    Clarify the comments describing the BULK_CONTINATION flag, and improve
-    the subroutine that checks whether the flag is supported by making it
-    "future-proof", i.e., by working properly with kernel version numbers
-    higher than 2.6.
-
-commit bd267cf92269e0c4cd8eef795b91eefb2c63452e
-Author: Peter Stuge <peter@stuge.se>
-Date:   Mon Nov 22 05:14:00 2010 +0100
-
-    README: Update webpage URL and add Peter's email address
-
-commit 845b715675703c5f1bc907f6302ece416c9f112c
-Author: Peter Stuge <peter@stuge.se>
-Date:   Wed Aug 4 07:30:22 2010 +0200
-
-    libusb is not just for Linux!
-
-commit 67d9ef7b6877e17f2deec81cd41dc0948f6bed4b
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Tue Oct 5 19:48:39 2010 -0600
-
-    Remove USBI_OS_HANDLES_TIMEOUT and fix int/isoc timeouts on Darwin
-    
-    Backends set USBI_TRANSFER_OS_HANDLES_TIMEOUT for transfers instead.
-    Darwin only handles timeouts for bulk and control transfers, so the
-    backend now sets that flag accordingly, making libusb core handle
-    timeouts for interrupt and isochronous transfers. Fixes #31.
-    
-    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
-    
-    [stuge: rework libusb_get_next_timeout() and enum usbi_transfer_flags]
-    [stuge: fix typo; set USBI_TRANSFER_TIMED_OUT flag correctly]
-
-commit 370922dfbe0964c0b8a0c1974bb1d7b85ac10607
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sun Nov 14 03:14:00 2010 +0100
-
-    Silence "warning: suggest braces around empty body in an 'if' statement"
-
-commit 0f85015bdf87f3bca0d86ed87c9b976176640922
-Author: Konrad Rzepecki <hannibal@astral.lodz.pl>
-Date:   Sat Nov 13 14:09:22 2010 +0100
-
-    Disallow libusb_get_string_descriptor_ascii() with index 0
-    
-    String descriptor 0 is the list of supported language IDs in the device,
-    which can't have an ASCII representation. Calling the function with
-    index 0 is thus not really useful. Fixes #43.
-
-commit 3b41c31d3fa2c1f93649cc5fc0f59acbf3efd5a1
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Fri Mar 19 15:35:14 2010 +0100
-
-    Use const for the usbi_parse_descriptor() format string
-    
-    Constant strings should be "const char *" instead of "char *". Silence
-    "discards qualifiers from pointer target type" warnings. Fixes #61.
-
-commit 7f2e9f0776386997d2b4c4c47598ab88e3caeb7a
-Author: Hector Martin <hector@marcansoft.com>
-Date:   Wed Aug 25 03:21:57 2010 +0200
-
-    Linux: Fix usbfs/sysfs config descriptor handling on big-endian
-    
-    usbfs endian-swaps, sysfs doesn't, not the other way around. Fixes #51;
-    descriptor endian parsing is backwards using sysfs on big-endian hosts.
-    usbfs is untested.
-    
-    Signed-off-by: Hector Martin <hector@marcansoft.com>
-    
-    [stuge: checked against Documentation/usb/proc_usb_info.txt]
-
-commit 2aa8984e59cf0f492e7fbebb8924f54f6160cc5e
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Tue Aug 17 20:53:04 2010 +0200
-
-    examples: #include <libusb.h> without directory name
-    
-    The libusb-1.0 directory name belongs in the compile command, e.g.
-    via pkg-config --cflags. Fixes #58.
-
-commit 7da756e09fd97efad2b35b5cee0e2b2550aac2cb
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Thu Jun 24 10:14:24 2010 +0200
-
-    Add missing argument to libusb_wait_for_event() documentation, fix #55
-    
-    In the libusb_wait_for_event() sample code in the section "Letting other
-    threads do the work for you" the call to libusb_wait_for_event() was not
-    updated by commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90, which added
-    the libusb_context *ctx parameter to the function, so the sample code
-    was broken until now.
-
-commit 678c242705b29f9cb6cc421b5625a6485ae58047
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Oct 16 14:22:30 2010 +0200
-
-    examples: Silence warnings about return value of fwrite()
-
-commit 9cd9059bf9baac69a9d6c909f4c1e000592fa260
-Author: Peter Stuge <peter@stuge.se>
-Date:   Sat Oct 16 11:47:14 2010 +0200
-
-    Linux: Don't free() URBs prematurely on hardware error; fix #54
-    
-    When an URB in a multi-URB transfer had an error, handle_bulk_completion()
-    would free all URBs and segfault once the next one completed, instead of
-    cancelling the remaining URBs and cleaning up as usual.
-    
-    This is basically the patch from the ticket, plus some restructuring
-    for increased readability of the function.
-    
-    Many thanks to Brian Shirley and National Instruments for finding and
-    fixing this!
-
-commit 116d34f608b02f4e14668450b158acf5db726f95
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:43:41 2010 +0100
-
-    Windows: add support for filter drivers
-    
-    * precedence is driver > upper filter > lower filter, and defined
-      in struct driver_lookup lookup from set_device_paths()
-
-commit eb833fcd837e3aac2e497438b14c8612254c28ce
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:36:49 2010 +0100
-
-    Windows: fix errcode shadow warning, and string and DLL_DECLARE fixes
-    
-    * use FormatMessageA, and overall improvement of windows_error_str()
-    * use safe_strlen() always
-    * better typing/init default
-    * more explicit debug message for devices with no driver
-
-commit 1feadb5f78e1d2cdfd2aaf0011e041c2848bae37
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Oct 5 12:29:32 2010 +0100
-
-    Windows: use IOCTLs for HID input, output and feature reports
-    
-    * fixes feature reports not providing actual read size
-      (reported by Axel Rohde http://marc.info/?m=127033070021994)
-    * removes the USE_HIDD_FOR_REPORTS macro
-    * IOCTL usage inspired from HIDAPI by Alan Ott
-
-commit d7c25451f4075d2a12eb5cbc91ff3de8c0292da0
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Mon Oct 4 20:03:58 2010 +0100
-
-    Fix libtool version setting
-    
-    This was being set too early to take effect.
-
-commit a6fb54e2eef4e393bd06829bc3bdc746ea9d41a6
-Author: Mike Frysinger <vapier@gentoo.org>
-Date:   Mon Oct 4 20:01:07 2010 +0100
-
-    Populate the pkg-config Libs.private field
-
-commit a9b4065f048e750b7317f6434406fd528b69bf33
-Author: Mike Frysinger <vapier@gentoo.org>
-Date:   Fri Aug 20 00:09:46 2010 -0400
-
-    Linux: fix build failure when CLOCK_MONOTONIC does not exist
-    
-    This is not available on all platforms.
-
-commit d192c5bd32736fde0080d756de6221287af34891
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Mon Oct 4 18:45:18 2010 +0100
-
-    Update libtool version info
-    
-    With input from various people on the mailing list, update the libtool
-    versioning info and start to update this on every release.
-    
-    The next libusb release will not need a change here. All following ones
-    will.
-
-commit e65f69a7ef3de357c867ddaac9598efe407078b6
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Thu Aug 5 16:40:09 2010 +0100
-
-    Updated documentation for unsupported Darwin/Windows calls
-
-commit c8bab4e19413d70c515a2eaf747a75b7f66fdc0b
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Sun Sep 19 14:24:25 2010 +0100
-
-    Windows: Make libusb_pollfd() return error
-    
-    Windows does not have numerical file descriptors but does have the
-    concept of event sources. Exposing these event sources will require
-    some careful thought and design, to be completed later.
-
-commit bd623f70d99fad8b975f8d4ee62ea4b1abf1272f
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Sun Sep 19 14:21:01 2010 +0100
-
-    MinGW: Use --add-stdcall-alias linker option
-    
-    Naming of symbols inside the library is inconsistent on Windows:
-    http://wyw.dcweb.cn/stdcall.htm
-    
-    Use this linker option to add aliases which add compatibility with
-    the "MSVC DLL" platform when a DEF file is used. It also better matches
-    the appearance of the Windows API itself.
-
-commit 29f9f9e3af3340df6a955881a93caf9d2a6d08d6
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Fri Aug 13 11:59:49 2010 +0100
-
-    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]
-
-commit be523f1fe7c136c3fca06ae9c96aff44a22482ba
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Fri Aug 6 21:56:04 2010 -0600
-
-    Windows: fix string copy in sanitize_path
-    
-    The NULL byte was not being copied.
-
-commit 7fd36af9f749ce8bf96f89cefd519a9f46825573
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Fri Jul 30 00:30:31 2010 +0100
-
-    Windows: DuplicateHandle failure is not a warning
-    
-    This is because WinUSB handles are not duplicable, and generate a
-    lot of these warnings.
-
-commit 33cd2f68b4d500e852e354e5acae3d9a96a8ec26
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Fri Jul 30 00:23:05 2010 +0100
-
-    removed trailing whitespaces
-
-commit e47849afe9381c864683220eac9ce7bcf43f7883
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed Aug 4 18:18:32 2010 -0600
-
-    Windows: Mark interfaces as unused when releasing
-    
-    Without this important cleanup, the autoclaim code could attempt to
-    reuse an unclaimed interface as if it were already claimed.
-
-commit b30ca141a0bdce26e7cfdd91d346e49051532ee7
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed Aug 4 18:15:59 2010 -0600
-
-    Windows: fix device path string duplication
-
-commit e8d7a89503d5655c4b04da718c6971e25ff48162
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Mon Aug 2 21:27:38 2010 -0600
-
-    Darwin: Cache device configuration value
-    
-    Cache device configuration value to bring the Darwin backend more in
-    line with the libusb spec. To handle buggy devices GetConfiguration is
-    not called unless the device has more than one configuration.
-
-commit fe5d1d2050f715ffa8cbd35a378ac969a1a01584
-Author: Xiaofan Chen <xiaofanc@gmail.com>
-Date:   Fri Jul 30 15:56:43 2010 +0100
-
-    Fix inconsistencies between prototypes and definitions
-    
-    This removes some warnings on cygwin regarding a name clash against
-    the standard library "index" function.
-
-commit 3b538c43e11b805a37d93b6283d270d5d5f0d1f5
-Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
-Date:   Tue Jul 27 21:04:17 2010 -0600
-
-    Darwin: handle kIOReturnUnderrun
-    
-    This return code indicates that the device returned a data packet
-    less than the max packet size. In libusb backend terms, this is
-    a successful transfer.
-
-commit 9a4249f8a104b98a15a7e3ba7ecae9a385ed9027
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Sat Jul 10 17:51:13 2010 -0600
-
-    Add Windows support
-    
-    Via Cygwin/MinGW, libusb now has windows support.
-    Thanks to contributors: Michael Plante, Orin Eman, Peter Stuge,
-    Stephan Meyer, Xiaofan Chen.
-
-commit d38dd5e3d2a872f7064eea084ddea8c33811dd7d
-Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
-Date:   Sat Jul 24 13:48:00 2010 -0600
-
-    Darwin: write iso transfer details into correct packets
-
-commit fbff5b4b665ff2ebc948162617cf7f4f5d2fabeb
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sat Jul 24 13:42:57 2010 -0600
-
-    Darwin: fix interface object leak
-
-commit dffc09835d6860ae9b6a62c39af5be346188cb05
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sat Jul 24 13:41:03 2010 -0600
-
-    Darwin: clean up some debug messages
-
-commit 946d1abbca397b8e88a1b0b4df176dcc5e3b7348
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Sat Jul 24 13:39:16 2010 -0600
-
-    Darwin: Don't open devices during scan unless we have to unsuspend
-
-commit 3b6d9ac82e2599cad7817d21e909a42275ddc4c4
-Author: Peter Stuge <peter@stuge.se>
-Date:   Fri Jun 25 08:08:13 2010 +0200
-
-    Linux: Handle early complete of multi-URB transfer
-
-commit a516fcb99376686d2d0028e5ac69950c57a55b9e
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Wed Jul 21 17:49:21 2010 -0600
-
-    Only compile dpfp examples when sigaction is available
-    
-    It's not available on MinGW.
-
-commit a1d831ef82e1700f4ebb9df6ca5cef74be757c08
-Author: Aurelien Jarno <aurelien@aurel32.net>
-Date:   Tue May 25 09:32:19 2010 +0200
-
-    configure.ac: fix bashisms
-
-commit 7211aba6e290f9805e911959b2a43a4b3ec56d4f
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Fri Jun 25 12:01:58 2010 -0500
-
-    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.
-
-commit b33c3cb9651459de1f3d549677cbac67a017a295
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Tue Jun 22 18:45:38 2010 -0500
-
-    Linux: Fix log message commit
-    
-    Forgot to test this.
-
-commit 139648d5723190734a51c1c66ddf41c3e87adf10
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Mon Jun 21 10:19:29 2010 +0200
-
-    Only initialize the default context when it is requested
-
-commit 22d61cd0891d8304dfc1a70579cf154fd8e6644a
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Tue Jun 22 18:20:23 2010 -0500
-
-    Linux: fix log message that was being unconditionally sent to stderr (#44)
-    
-    This message was put in place to aid libusb-compat-0.1 users, who
-    may run into the change that libusb-0.1 allowed you to usb_open() a
-    device that you don't have write access to, but libusb-1.0 does not.
-    
-    As explained on the ticket this change is dangerous so it should go through
-    the usual logging mechanism. I also added a similar regular log message
-    to libusb-compat-0.1.
-
-commit 82065a2c5e9d5ad0b2bb28792d12462f2fa150f0
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Thu Jun 10 18:41:27 2010 +0200
-
-    Fix 2 documentation typos
-
-commit 351c062aacdde0b0fa7972ee9b7c6b355dcee110
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Wed Apr 21 16:49:33 2010 +0200
-
-    add AM_MAINTAINER_MODE
-
-commit a7c056c14867e1cc3ef83682f2706cdbdca7c4ce
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Thu Jun 10 17:00:25 2010 -0500
-
-    Factorize event handler interruption code
-    
-    This will be additionally used by the windows backend which modifies
-    the fd set frequently.
-
-commit fc0af8e3f76925ad09e0fbc6d233d500753ee375
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Sat Jun 5 12:14:19 2010 -0500
-
-    Abstract low-level event handler operations
-    
-    The Windows backend uses something other than UNIX file descriptors
-    for event handling. Abstract out the operations to allow for this.
-
-commit 64383fb5b55a74b706967836e81cef61e57df86a
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Tue Jun 1 11:38:14 2010 +0100
-
-    fixes the possibility of using a broken timercmp on Windows
-    
-    Microsoft's implementation of timercmp does not work for >= or <=.
-
-commit f6d60a9a8fcf06629812da886e3a5de592624b61
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Mon Feb 1 19:26:13 2010 +0000
-
-    Switched to standard int pointer type for windows 64-bit compat
-    
-    On 64-bit Windows a pointer is 64 bit, but long is still 32 bit for
-    backwards compatibility.
-    uintptr_t nicely hides this difference and also works on Linux.
-    
-    [dsd: add appropriate include]
-
-commit a2fa855ce3795e31905b255267874af0603168bc
-Author: Michael Plante <michael.plante@gmail.com>
-Date:   Tue Mar 9 16:39:46 2010 -0600
-
-    added doxygen, dpfp, msvc, and xusb stuff to gitignore
-
-commit 845d96a9c30b6f053208ed6b5b5d4ad1655e2026
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Mon May 31 19:56:34 2010 -0500
-
-    Add reference counting to default context
-    
-    Michael Plante pointed out that if 2 users call libusb_init(NULL) within
-    a process, we end up creating 2 default contexts, one of which is lost.
-    
-    Add reference counting so that the default context is reused and
-    destroyed only after the last user.
-
-commit 0e77f017fd3d1bdec4aced0429a380d3e434081b
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Thu May 27 19:24:49 2010 -0400
-
-    Fix libusb_init() error handling
-    
-    9996ccaed7 introduced a problem in that mutexes could be destroyed
-    in the error handling codepath before they had been created.
-    Pointed out by Michael Plante.
-
-commit b03de9d07bf9a6b0c4e6cba9ec06b5271a22e621
-Author: Michael Plante <michael.plante@gmail.com>
-Date:   Mon May 24 11:57:10 2010 -0300
-
-    Modify log functions to compile with MSVC6
-    
-    MSVC6 does not support variadics.
-
-commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Sun Feb 14 19:46:05 2010 -0600
-
-    Add type parameter to the list_for_each_entry() and _safe() macros
-    
-    typeof() is a GCC extension, not supported by target compilers such
-    as MSVC.
-
-commit b92b16f437079208c8dfb1dc2380893846a07ee9
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Wed May 19 17:37:29 2010 -0300
-
-    Fix a usbi_pollfd leak in error path
-    
-    I accidently missed this when applying Pete Batard's earlier patch.
-    Pointed out by Michael Plante.
-
-commit 8aceb5c99056aaed6e6f2db1b303817e37e9fe8c
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Sun Feb 14 19:47:30 2010 -0600
-
-    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
-
-commit d7031ee8e1c449af23b2674fe18d9fc652c9bd80
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Mon May 17 19:30:27 2010 -0300
-
-    Stricter types and casts
-
-commit 9996ccaed740f8fcec4287a478ccaaa573f9865a
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Mon May 17 19:16:54 2010 -0300
-
-    Fixes to error handling and exit codepaths
-    
-    Various locks and things were being leaked/left open when handling
-    errors and during deinitialization.
-    
-    [dsd: small tweaks]
-
-commit 371ca4e440894bd1c845971418aa24c9d3919e63
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Thu May 13 19:38:05 2010 -0300
-
-    Darwin: Define IO_OBJECT_NULL if not already defined
-    
-    Needed on Mac OSX 10.3
-
-commit 7ba92cff94bbba19284749c614c26141d3023f37
-Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
-Date:   Fri Jan 29 12:08:52 2010 +0100
-
-    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.
-
-commit 3473ac6c6fab32202d02d87679ebdb24e7d2df98
-Author: Francesco <francesco.montorsi@gmail.com>
-Date:   Tue Mar 9 16:35:35 2010 -0600
-
-    Add libusb_strerror() to get short error message in English from enum
-    
-    [dsd: small tweaks]
-
-commit 5b69f3b7b0610d5f518954792ddc93332a41d292
-Author: Michael Plante <michael.plante@gmail.com>
-Date:   Thu Feb 25 19:39:22 2010 -0600
-
-    Fix libusb_device::lock memory leak
-
-commit a636df4ca1b87ed3094a87828c022092a80ba613
-Author: Pete Batard <pbatard@gmail.com>
-Date:   Wed May 12 21:46:31 2010 -0300
-
-    Whitespace cleanup
-
-commit 23b5db8b3e353176dfa0635bfb6f0e2658f6e3de
-Author: Peter Stuge <peter@stuge.se>
-Date:   Tue May 11 00:51:43 2010 +0100
-
-    Add internal abstraction for POSIX Threads
-    
-    This prepares for a Windows backend without dependency on pthreads-w32.
-    
-    pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
-    
-    A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
-    introduced for statically initialized mutexes, since they may be
-    implemented using other types when pthreads mutexes aren't used.
-    
-    Move -pthread from libusb/Makefile.am to host-specific THREAD_CFLAGS in
-    configure.ac. This will enable optional use of -lpthread for cygwin.
-    
-    [dsd: minor tweaks, and roll in a change based on patches from Pete
-    Batard to only build dpfp_threaded example when we're using pthreads]
-
-commit a04cbb0095a78aeed3f65aaf06c46069d0ac184a
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Tue May 4 19:01:59 2010 -0300
-
-    v1.0.8 release
-
-commit 53b47299531974fa8901b74a163f3c8ebae4eec9
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Thu Apr 22 18:12:51 2010 -0300
-
-    Linux: don't set SHORT_NOT_OK on bulk out URBs (#20
-    
-    Setting this flag is illegal, and the behaviour we're looking for
-    is already in place for host-to-device transfers without this flag.
-
-commit 1519828b7ee1fce46d4c51fc097d52e01b8e0bb4
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Tue Apr 20 20:14:09 2010 -0300
-
-    Linux: Handle failure to read active configuration during enumeration
-
-commit 45168627cc15aee3875192f34286110dbbd27095
-Author: Nathan Hjelm <hjelmn@me.com>
-Date:   Tue Apr 20 19:43:06 2010 -0300
-
-    Darwin: don't reuse cached descriptors during enumeration
-    
-    Descriptor reuse was causing scans to return invalid information when
-    the device at a location has changed.
-
-commit 3af329db6dcbfb96d24867c757f9e125e5b7b0e5
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Mon Apr 19 19:36:55 2010 -0300
-
-    v1.0.7 release
-
-commit ceb8cacd6d2a4189de0db2ee46d45217511c69be
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Mon Apr 19 19:31:12 2010 -0300
-
-    Document that fd set contents are an internal implementation detail (#36)
-
-commit 9bea500b5747bdeba7c8251d45608558e71a1db5
-Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
-Date:   Mon Apr 19 19:22:46 2010 -0300
-
-    Linux: correct config descriptor endianness fix
-    
-    The seek_to_next_config codepath deals with both sysfs and usbfs;
-    make sure we only convert values in the usbfs path.
-
-commit 02df59a309e813c50b8230de99e69fb4e1814279
-Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
-Date:   Mon Apr 5 17:11:32 2010 +0200
-
-    Linux: Fix endianness handling of usbfs config descriptors (#27)
-    
-    driver/usb/core/devio.c function usbdev_read translate the follwing files
-    to CPU endianess:
-    
-    le16_to_cpus(&temp_desc.bcdUSB);
-    le16_to_cpus(&temp_desc.idVendor);
-    le16_to_cpus(&temp_desc.idProduct);
-    le16_to_cpus(&temp_desc.bcdDevice);
-    
-    All other data is passed without any change.
-    
-    libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1
-    for config descriptors. According to the kernel code, they must be
-    processed with host_endian=0, as they are not translated by the kernel.
-    
-    Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
-
-commit ec303b01a5d4e51c000a283853af65059fa62285
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Tue Mar 23 16:22:08 2010 -0600
-
-    Darwin: fix enumeration of devices with non-consecutive addresses (#23)
-
-commit cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5
-Author: Bastien Nocera <hadess@hadess.net>
-Date:   Mon Mar 8 10:50:51 2010 +0000
-
-    Add more interface classes
-    
-    As used in bluez.
-
-commit 1ce4aa67d849f5cad8a21072dc1c7b42158ce817
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Thu Mar 18 11:32:32 2010 -0600
-
-    Darwin: Cleanup async callback code, catch request timeouts
-
-commit 68af9f8d731f700267335941a8214d34ab518cc8
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Thu Mar 18 11:31:46 2010 -0600
-
-    Darwin: fix endianness of control setup packet
-    
-    IOUSBLib expects the control request to be in host byte order.
-    Swap the request into host byte order.
-
-commit cfce4d127184f4e4f334976151a0f80594bb5e22
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 15 14:10:08 2010 -0600
-
-    Darwin: fix memory leak in process_device
-    
-    Credit to Mike Colagrosso for finding this bug.
-
-commit 161893cfbefefe315f657677705abe090fc526f2
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 15 14:09:19 2010 -0600
-
-    Darwin: use logging functions
-    
-    Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
-
-commit 2a72f38548208044dc3aa62681419d006c35732d
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 15 14:07:44 2010 -0600
-
-    Darwin: support multiple calls to libusb_init
-    
-    Credit to Orin Eman for finding this bug.
-
-commit a4186794d87124503db2f5f51f51ce90bb95daa7
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Sun Nov 22 17:20:53 2009 +0000
-
-    v1.0.6 release
-
-commit 8392ff22136fccaf1e15d186157609b8dd127bc5
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Sun Oct 25 10:06:41 2009 +0100
-
-    lsusb example: make print_devs() static
-    
-    lsusb.c:26: warning: no previous prototype for ‘print_devs’
-
-commit 9cc6bfaa15239bb6db1c1570b9beb6df2f848951
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Sun Oct 25 10:05:10 2009 +0100
-
-    Darwin: fix warning in darwin_error_str()
-    
-    os/darwin_usb.c:63: warning: return discards qualifiers from pointer
-    target type
-
-commit 4c706d2fb6b2c43b10d72ac5dff51cac4d939f1a
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Sat Nov 21 17:06:43 2009 +0000
-
-    Darwin: allow devices to be opened multiple times
-    
-    Allows libusb applications to access multiple interfaces of the same
-    device in the same application.
-    
-    Also fixes a set alt interface bug.
-
-commit 0232fc559cdacb9561f982dd6d28feb4435b3e4e
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Sat Nov 21 17:01:32 2009 +0000
-
-    Increase libusb_handle_events() timeout to 60 seconds
-    
-    The internal timing seems to be working, this will be a better test of
-    it before we make this timeout unlimited.
-
-commit 0bd7ef5d8697973a026c36c15d6276177b4ec4ea
-Author: Daniel Drake <dan@reactivated.net>
-Date:   Sat Nov 21 16:57:25 2009 +0000
-
-    Refine timerfd header check (#18)
-    
-    Require glibc-2.9 for the working timerfd support.
-
-commit 90d8fcab9018b8e6887a7e0592d1e5f692117234
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Nov 15 12:17:13 2009 +0000
-
-    v1.0.5 release
-
-commit 11d591058e3f105b0e90c23bbf58b18de691e690
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Nov 7 10:43:59 2009 +0000
-
-    Update documentation about early completion caveats
-
-commit f796c9528a71aa55326b6f0c9c7c5ec073d2bf92
-Author: Ludovic Rousseau <rousseau@debian.org>
-Date:   Sun Oct 25 09:59:51 2009 +0100
-
-    Add libusb_get_max_iso_packet_size() to libusb.h
-    
-    core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
-
-commit 4783008b7e711de9cb31631e60dda995f44068de
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Oct 28 20:33:49 2009 +0545
-
-    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.
-
-commit 9b120c2b3735566533c179aa8ca758fe45899a38
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Nov 7 10:03:07 2009 +0000
-
-    Use AM_SILENT_RULES for building
-
-commit ef6ea6c3ae38e4524f10e16e8cb88177d39c4826
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Nov 6 21:54:08 2009 +0000
-
-    v1.0.4 release
-
-commit 217f57617e0cff0d1bd6d726b243f04c6b179773
-Author: David Moore <dcm@acm.org>
-Date:   Fri Nov 6 21:37:25 2009 +0000
-
-    Linux: Add support for the new URB_BULK_CONTINUATION flag
-    
-    Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
-    
-    This flag, which is expected to be available in usbfs starting with
-    kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
-    of a short packet.  This capability allows libusb to preserve data
-    integrity of large bulk transfers that are split into multiple URBs.
-    Without this support, these URBs must be canceled in userspace upon
-    receipt of a short packet, a race condition against future transfers
-    which might partially fill these canceled URBs.
-    
-    This patch automatically detects whether a supported kernel is present
-    and enables the use of the flag when possible.
-    
-    [dsd: tweaks to supported kernel detection, and some inline
-     documentation of this mechanism]
-
-commit 69830057547396f893f0d7b3125a05d016313b10
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Oct 28 15:13:22 2009 +0545
-
-    Transfer locking
-    
-    At least on Linux, there were some possible races that could occur if
-    a transfer is cancelled from one thread while another thread is handling
-    an event for that transfer, or for if a transfer completes while it is
-    still being submitted from another thread, etc.
-    
-    On the global level, transfers could be submitted and cancelled at the
-    same time.
-    
-    Fix those issues with transfer-level locks.
-
-commit 98f1b30d24359cb3185051b8df9ebb663cc10369
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Sep 14 08:01:24 2009 +0100
-
-    Clarify that timeout 0 means unlimited timeout
-
-commit 858684f0dd25921e09565034a88709dbf6f6c61b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Sep 11 22:09:12 2009 +0100
-
-    Linux: more flexibility with monotonic clock
-    
-    Some users have reported that CLOCK_MONOTONIC does not work on their
-    systems - I suspect it is available on x86 but perhaps not some
-    of the more uncommon architectures. We should fall back on
-    CLOCK_REALTIME in these cases.
-    
-    Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
-    that if it is available.
-    
-    We now test different clock IDs during initialization to find the
-    best one that works.
-
-commit fe0d8dce1ed704915d501e7da700440c78144211
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Fri Sep 11 18:00:29 2009 +0100
-
-    Darwin: handle overflows
-
-commit f46716f42040986203fa6e873bfdabe1be2900ec
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Aug 27 21:14:54 2009 +0545
-
-    v1.0.3 release
-
-commit 5b489b8b2a5aba7b8b804e5af6d2628735548238
-Author: Toby Peterson <toby@macports.org>
-Date:   Sun Aug 23 10:04:59 2009 +0545
-
-    Darwin: 64-bit type fixes
-
-commit ad8ae04d0b52009af0b1180e005f7554d2bbb26c
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Sun Aug 23 10:02:55 2009 +0545
-
-    Darwin: fix crash when reading descriptors after close
-    
-    Fix a crash which occurs if the user does the following sequence on a
-    device: open, close, get_configuration_descriptor.
-
-commit 45ae2aecf5512dcff059b2a416534e81c6a00c88
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Aug 1 13:55:15 2009 +0545
-
-    move bug info to bug tracker
-    
-    Protection needed: http://www.libusb.org/ticket/4
-    Losing data: fixed in previous commit
-
-commit 126129e174062c2a27423817a459e5113f777789
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Jul 9 22:09:04 2009 +0100
-
-    Linux: try harder not to lose any data
-    
-    We would previously lose any data that was present on a cancelled URB.
-    Work harder to make sure this doesn't happen.
-
-commit 0334ee642b47dfe1ca9db64b22e7702ea14b3f09
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Jun 28 19:49:10 2009 +0100
-
-    Add libusb_get_max_iso_packet_size()
-    
-    As pointed out by Dennis Muhlestein, libusb_get_max_packet_size()
-    doesn't really do what the documentation might suggest because it
-    does not consider the number of transaction opportunities per
-    microframe.
-    
-    Add a new function to do what is useful for isochronous I/O.
-
-commit 615f18e64e96ae4ecc8e43d0de00933059a5209a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jun 20 22:33:21 2009 +0100
-
-    Linux: fix sending of zero length bulk packets
-    
-    Note that there are is a kernel bug preventing this from working
-    properly at the moment, even after this fix.
-
-commit 86f79fbf61c2018bdf009c7ebf92b38f3a16fd0c
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Fri Jun 19 22:18:44 2009 +0100
-
-    Darwin: Don't cancel transfers on timeout
-    
-    ...because the OS does this for us.
-
-commit d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Jun 14 19:23:21 2009 +0100
-
-    Don't terminate enums with commas
-    
-    g++ -pedantic doesn't like this
-    Reported by Eberhard Mattes
-
-commit 8be256082eb9bd8e243d89529f742926bb29a21b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jun 13 17:19:07 2009 +0100
-
-    v1.0.2 release
-
-commit 060e006e663fd59c281be29b71eb197e02b210e8
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Jun 10 21:42:05 2009 +0100
-
-    Linux: fix config descriptor parsing on big-endian systems
-    
-    Multi-byte fields in the configuration descriptors that come back from
-    usbfs are always in bus endian format.
-    
-    Thanks to Joe Jezak for help investigating and fixing this.
-
-commit c4a905022f684da9a4a853eb9232a81a53df2652
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Sun Jun 7 22:29:35 2009 +0100
-
-    Darwin: improve handling of disconnected devices
-
-commit 6b69f54451762ef590b9c938ab000c07cf9099a3
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Sun Jun 7 22:26:37 2009 +0100
-
-    Darwin: fix parsing of config descriptors
-    
-    This was a confusion between configuration numbers and zero-based
-    configuration indexes.
-
-commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Jun 7 22:19:53 2009 +0100
-
-    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.
-
-commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
-Author: David Moore <dcm@acm.org>
-Date:   Wed May 27 23:15:54 2009 -0700
-
-    Make synchronous transfer APIs robust against signal interruption
-    
-    libusb_control_transfer and libusb_bulk_transfer are designed to be
-    synchronous such that control is not returned until the transfer
-    definitively succeeds or fails.  That assumption is violated if a signal
-    interrupts these functions because there is no way for the application
-    to continue waiting for the transfer without resubmitting it.  This
-    patch changes these synchronous APIs so they do not abort in the case of
-    a signal interruption.
-    
-    Signed-off-by: David Moore <dcm@acm.org>
-
-commit b501795985a23109f176d296e7b544b4c6354528
-Author: Alex Vatchenko <alex@fabulatech.com>
-Date:   Thu May 28 15:58:50 2009 -0400
-
-    pre-gcc-3.4 compatibility
-    
-    The -fvisibility and -Wno-pointer-sign options are not available on
-    old GCC versions.
-
-commit 00bb2805e994887f0a754a825c3ce03d22393386
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue May 26 15:53:26 2009 -0400
-
-    Fix memory leak in config descriptor parsing
-    
-    Pointed out by Martin Koegler.
-
-commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue May 12 19:20:51 2009 -0400
-
-    Update AUTHORS
-
-commit aa24c04e4043e39674b59ff0d302b2365cd0078f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue May 12 19:03:37 2009 -0400
-
-    v1.0.1 release
-
-commit 44767677447fae4267131f99c591b14117486cac
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue May 12 19:01:44 2009 -0400
-
-    Add BUGS file
-    
-    Probably missed a couple of outstanding issues
-
-commit e0365a6f22e0e7f330ac931df031cf6f17f453d1
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Sun Mar 22 21:13:29 2009 -0400
-
-    Darwin: get_config_descriptor bugfixes
-
-commit 5fd0e8478240fece646a58a3c6114001a73be99f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Feb 25 12:33:33 2009 -0300
-
-    Fix compilation of Darwin backend
-    
-    My fault. Reported by ihryamzik@gmail.com
-
-commit b49f6bf5c910d0fd694ecf165d7927673707bff9
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 16 21:39:29 2009 -0300
-
-    Darwin backend
-
-commit d859158581e9a3250f36cdeeb8ea67cda04053bd
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 16 21:30:49 2009 -0300
-
-    Make endianness macros endian-independent
-    
-    Implementation suggested by David Moore. Needed for proper universal
-    code support on Darwin.
-
-commit 9196f58bdc8b9e967261df39865215faa5d39cfa
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 16 21:25:18 2009 -0300
-
-    Abstract clock reading into OS layer
-    
-    This will differ on Linux and Darwin, at least.
-    
-    [dsd: minor style tweaks]
-
-commit e91207860cac09b3afaafc4c14221b78d585c59a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Feb 16 21:20:28 2009 -0300
-
-    Fix endianness in device descriptors
-    
-    Pointed out by Nathan Hjelm.
-
-commit ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17
-Author: Nathan Hjelm <hjelmn@mac.com>
-Date:   Mon Feb 16 21:13:52 2009 -0300
-
-    Only link with librt on Linux
-    
-    [dsd: tweak configure.ac change]
-
-commit 894539931e4b4bd85708fe98b956049243cd6fb0
-Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
-Date:   Mon Jan 26 00:31:48 2009 +0100
-
-    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]
-
-commit abe34a2656f8f9f21e53603796c536585e6233ef
-Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
-Date:   Sun Jan 25 18:21:59 2009 +0100
-
-    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.
-
-commit 620075c7400764d9bb539b5c02065c45c2e8251e
-Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
-Date:   Sun Jan 25 18:20:45 2009 +0100
-
-    Avoid signedness errors in API docs example code
-
-commit c754ae294cfe96ec4738d6641137c9e6c56330c7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 17 00:25:40 2009 +0000
-
-    Decrement poll() result when internal pipe has been handled
-    
-    When we receive data on the internal control pipe, we need to correctly
-    decrement the number of ready file descriptors before passing on the
-    remaining work to the OS implementation.
-
-commit b9ca960f2ba271d2b1a58e22b7c70464d69f6c8a
-Author: David Moore <dcm@acm.org>
-Date:   Sun Jan 11 21:46:17 2009 -0800
-
-    Prevent transfer from being submitted twice or improperly canceled
-    
-    This ensures that tpriv->urbs and tpriv->iso_urbs are always set to NULL
-    whenever a transfer is not submitted.  In this way, submit_*_transfer()
-    and cancel_*_transfer() can error check to ensure that the transfer is
-    in the correct state to be either submitted or canceled, preventing
-    potential memory leaks or double frees.
-    
-    Signed-off-by: David Moore <dcm@acm.org>
-
-commit d2a8ec2da8abcd8f4648ed118da16191011982dd
-Author: David Moore <dcm@acm.org>
-Date:   Wed Jan 7 22:31:09 2009 -0800
-
-    Linux: Fix race condition in cancel_bulk_transfer()
-    
-    This fixes a race condition in cancel_bulk_transfer().  In the old
-    version, awaiting_reap and awaiting_discard are incremented in
-    cancel_bulk_transfer() and decremented in handle_bulk_completion().
-    However, since these events may take place in two different threads,
-    these variables may reach zero before all URBs have been canceled,
-    triggered spurious callbacks and duplicate frees.
-    
-    This changes the logic to use a single variable "num_retired" to replace
-    both awaiting_reap and awaiting_discard.  num_retired is incremented
-    only in handle_bulk_completion() and thus there is no race.  The handler
-    will know that all URBs have been canceled when num_retired becomes
-    equal to num_urbs.
-    
-    This change also simplifies a great deal of the logic in both functions
-    and is a net reduction in the amount of code.
-    
-    Note that some variables such as "reap_action" probably need to still be
-    protected by a mutex, and this patch does not address that issue.
-    
-    Signed-off-by: David Moore <dcm@acm.org>
-
-commit 34b9eebe35d8167d43cffb6ad6175f6b2251b572
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Dec 13 20:06:49 2008 +0000
-
-    v1.0.0 release
-    
-    It's here!
-
-commit b1d636dde418dc8fe6a8f037dea0d800e57c6b94
-Author: Mikhail Gusarov <dottedmag@dottedmag.ent>
-Date:   Wed Dec 10 15:24:05 2008 +0600
-
-    EOL-whitespace fixes
-    
-    Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
-
-commit 4a9ac382ba5149ae5b3d0962d6a840b5e0dc13aa
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Dec 9 21:43:37 2008 +0000
-
-    Linux: fix reading of active configuration
-    
-    Shannon Chuang pointed out that we only read 1 byte into an
-    uninitialized integer, and then return the whole thing.
-
-commit 81a7310d92461ba7b1d98aeff7c4c007fab07120
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Dec 9 21:39:11 2008 +0000
-
-    Fix double free in descriptor parsing error path
-    
-    Pointed out by Shannon Chuang.
-
-commit 9b4b53453db56ba9c1d707a645bbe6c7a02a3c81
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Nov 21 13:28:32 2008 +0000
-
-    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.
-
-commit 0e5b0fcb77a90b8bd95ad23669da472af31ef069
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Nov 21 11:00:47 2008 +0000
-
-    SourceForge website upload system changed
-
-commit a133875e6e2f52eff53ac03f505d59cbdd33e178
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Nov 21 10:54:57 2008 +0000
-
-    v0.9.4 release
-
-commit c32aa662769b676ff3247778664fccc71fc427ec
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Nov 20 15:31:10 2008 +0000
-
-    Pause event handling while opening and closing devices
-    
-    Ludovic Rousseau found that crashes often occur if you close a device
-    while another thread is doing event handling.
-    
-    Fix this by adding an internal control pipe, which the close routines
-    use to interrupt the event handler and obtain the event handling lock,
-    ensuring that no other thread is handling events while the device is
-    closed. After the close completes, it signals all the event handlers
-    to start up again using the usual mechanism.
-    
-    Also modified libusb_open() to do a similar thing, so that event
-    handlers are interrupted in order to realise that a new poll fd has
-    appeared.
-
-commit 1d7cf3d0fa8698eae25097cbda1870be90ff6f5e
-Author: Bastien Nocera <hadess@hadess.net>
-Date:   Thu Oct 30 14:35:23 2008 +0000
-
-    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]
-
-commit 914a4e70657c86b5094770aa2d898c978b1cdf41
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Nov 2 21:45:54 2008 +0000
-
-    Linux: handle low-level transfer errors
-    
-    Handle more URB error status codes, thanks to Lou and Alan Stern.
-
-commit d25b566b3b8febafdda4211de724b4727dd4b7e0
-Author: Aurelien Jarno <aurelien@aurel32.net>
-Date:   Thu Sep 4 13:50:49 2008 +0200
-
-    Support for out-of-tree building
-    
-    Contrary to libusb 0.1, libusb 1.0 does not support out-of-tree building
-    for the documentation part. This patch fixes that by using a
-    doxygen.cfg.in file, which contains @top_srcdir@ to refer to the
-    location of the libusb source code.
-
-commit 8674c67ef78e1cf89db1fa584a4304f7c5ddcc5f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Nov 2 15:00:39 2008 +0000
-
-    Document the logging style
-    
-    Suggested by Lou.
-
-commit 94936cbcfe3f02eb65c8b91e29896604316259d8
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Aug 27 22:44:24 2008 -0500
-
-    Async I/O documentation touchups
-
-commit 2f8f1b1a900f5b9828e5e2ff93c2b26a44fd9de2
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Aug 27 21:23:10 2008 -0500
-
-    Doc: fix typo in events lock section
-
-commit 046e681e4ac6b697e40458ee0f5baf3cd8763bb0
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Aug 23 01:00:21 2008 -0500
-
-    v0.9.3 release
-
-commit fec6eaa4eecdf7e0b8299157a5dabef94417f193
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Aug 23 00:57:44 2008 -0500
-
-    Reset internal transfer flags on submit
-    
-    This fixes a problem pointed out by Lou, where resubmitting a transfer
-    that previously timed out never timed out again, as if the timeout had
-    been set to 0.
-
-commit 81627bd38900ec9701ab69c141aa51a9abea1f60
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Aug 10 17:09:48 2008 -0500
-
-    Add libusb_get_configuration prototype
-    
-    Pointed out by Lou
-
-commit 1631eaefcc7cdf7047c6b9225618a9aa1b3d87d1
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jul 19 17:51:28 2008 -0500
-
-    v0.9.2 release
-
-commit 0d9c40d7f3eee15ada624b5caab2cfb912144fdc
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Jul 16 09:22:12 2008 -0500
-
-    Linux: fix sysfs directory handling
-    
-    The length of the directory name varies, e.g. when you have nested hubs.
-    Use dynamic allocation to be able to deal with any length of name.
-
-commit 66c9847ad54b126ccafd4877292454ab57d0c115
-Author: David Engraf <dogge2k@gmx.de>
-Date:   Wed Jul 16 09:16:38 2008 -0500
-
-    Linux: correct usage of MAX_PATH
-    
-    Thanks to clarification from Artem Egorkine, MAX_PATH already includes
-    space for the trailing NULL.
-
-commit 6494f07a6d1b73ce786ae581c4ff691e39e61d19
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Jul 8 21:15:54 2008 -0500
-
-    Linux: fix bulk/iso transfer double-cancellation
-    
-    Reset counters to 0 so that it's possible to cancel a transfer twice
-    without breaking things. Not sure that I want to support this properly,
-    but this makes it work at least.
-
-commit 9140f5b414e37a3714cde9c6d6c87c963338a83a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jun 28 21:28:44 2008 -0500
-
-    v0.9.1 release
-
-commit 83a029062c1d2bfb584d7a6ee94915583d37464c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jun 28 21:24:49 2008 -0500
-
-    Add missing GET_CONTEXT()
-
-commit fbad9a5426f0369394c88987355a8fb06a741ca1
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jun 28 21:18:41 2008 -0500
-
-    Linux: Compatibility with new sysfs descriptors file
-    
-    As of 2.6.26, the descriptors file now includes all descriptors, not
-    just the active one.
-
-commit 819e65f880ca43526036e56c65c415042c91f58f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Jun 26 22:47:05 2008 -0500
-
-    Allow user data pointer to be passed through pollfd notification API
-
-commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Jun 24 23:01:51 2008 -0500
-
-    Introduce contexts to the API
-    
-    Suggested by David Zeuthen. This allows multiple libraries in the same
-    process to independently use libusb without interfering.
-
-commit 9818151c60a85aea6af24cb0996a92c3726c9864
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Jun 24 21:31:13 2008 -0500
-
-    Revert "Temporary workaround for event handling serialization issue"
-    
-    This reverts commit 2d3a1111caff40ebb87983c861ff548cdc9e5946.
-    This was based on the assumption that dying threads would automatically
-    release mutexes, which is not the case.
-
-commit d5f82893fab3f1c13b1af4ba17aac72479bad7d5
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jun 20 23:04:53 2008 -0500
-
-    Overflow handling
-
-commit 546dee211eefbdd280fd1fc9dee84a9b52105078
-Author: Artem Egorkine <arteme@gmail.com>
-Date:   Tue Jun 17 18:27:38 2008 -0500
-
-    a fix for SIGSEGV in handle_bulk_completion()
-    
-    We cannot dereference tpriv after calling
-    usbi_handle_transfer_cancellation() because that function may invoke
-    the user-supplied callback which may free the transfer.
-
-commit 947ba8056456a5215724fb502e3e09d50016f699
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Jun 16 22:50:50 2008 -0500
-
-    Refine configuration selection again
-    
-    At Alan Stern's suggestion, just offer the bare "set configuration" and
-    "get configuration" functionality, and let applications worry about the
-    specific race conditions and unusual situations.
-
-commit e7a7a49d0331ee0e14145f6e7ec39763b36314ac
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Jun 15 15:29:38 2008 -0500
-
-    docs update
-    
-    Add a THANKS file, make copyright notices easily accessible, update TODO
-
-commit 217534e4b396081e038ee5f94c813d1668963673
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Jun 15 15:23:29 2008 -0500
-
-    round up poll timeout
-    
-    Pointed out by Richard Röjfors, otherwise we end up busy-looping with
-    a poll() timeout of 0.
-
-commit 5ad79b324bc5e11a75a585398a1e81c26f05e758
-Author: Felipe Balbi <me@felipebalbi.com>
-Date:   Sun Jun 8 12:34:48 2008 +0300
-
-    fix doc about libusb_open()
-    
-    libusb_open() returns int instead of libusb_device_handle.
-    
-    Signed-off-by: Felipe Balbi <me@felipebalbi.com>
-    [dsd: small correction]
-
-commit 2d3a1111caff40ebb87983c861ff548cdc9e5946
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu May 29 17:26:26 2008 +0100
-
-    Temporary workaround for event handling serialization issue
-    
-    Ludovic Rousseau pointed out that libusb_unlock_events() is not called
-    when a thread gets terminated with a signal, meaning that event waiters
-    will not be woken up in this case.
-    
-    Add a temporary hack to libusb_event_handler_active() so that at least
-    the other threads will realise on the next iteration of their event
-    handling loop.
-    
-    The real fix will likely involve reworking most of this.
-
-commit 514bb8790cfe8b93ccfff82bc17081b1030acce0
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu May 29 12:35:01 2008 +0100
-
-    Refine libusb_set_configuration() semantics
-    
-    Applications will generally want to set a configuration before claiming
-    interfaces. The problem is that the interface may already be set, and
-    someone else may have claimed an interface (meaning that all calls to
-    set_configuration will fail, even if it's for the same configuration).
-    
-    There are now 2 options:
-    1. Use the new libusb_get_configuration() to determine active
-       configuration before calling libusb_set_configuration()
-    2. Or just call libusb_set_configuration() as usual, which will do
-       nothing if that configuration is already active.
-
-commit d1292f8e7300051239a7ed2769d221dc7a6f9fca
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 25 23:42:42 2008 +0100
-
-    v0.9.0 release
-    
-    First libusb-1.0 beta release
-
-commit 4cd249388e4ed2ca03f1263984ab67df5030bb65
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 25 22:59:09 2008 +0100
-
-    Take lock before raising event waiters condition
-    
-    This avoids a race between the user checking for active event handler
-    and then blocking on the condition variable
-
-commit 7c525480ab3c4db9205bfe30bb0d2bef9096c444
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 23 15:57:07 2008 +0100
-
-    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.
-
-commit ff0660a415ecfd0879600eaad1c5899b6d93a30a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 24 21:28:31 2008 +0100
-
-    allow LIBUSB_DEBUG env var to control message verbosity at runtime
-    
-    Based on ideas from Ludovic Rousseau
-
-commit 4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 23 15:58:11 2008 +0100
-
-    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.
-
-commit bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 19 15:43:27 2008 +0100
-
-    Fix memory leak in libusb_control_transfer
-    
-    Pointed out by David Engraf: we weren't freeing the transfer buffer
-
-commit a345bacb6f07ebb2122402041a9e8092d4a20a4d
-Author: David Engraf <david.engraf@netcom.eu>
-Date:   Mon May 19 15:16:32 2008 +0100
-
-    Linux: fix handling of ioctl failure
-    
-    The return value of some ioctl commands in linux_usbfs.c are not
-    handeled correct. The ioctl function returns != 0 and errno is set with
-    the error code.
-
-commit e44396a458ecea9e5edd9a7577e617571c76860d
-Author: David Engraf <david.engraf@netcom.eu>
-Date:   Mon May 19 15:13:38 2008 +0100
-
-    critical memory leak in handle_events
-    
-    This patch closes a critical memory leak in handle_events. The fds
-    variable is malloced but never freed. When I'm calling
-    handle_events with a timeout of 0, my system runs out of memory after a
-    few seconds.
-
-commit eb25630f52bc9848b444e439632c899977d887b0
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 16 23:50:20 2008 +0100
-
-    More informative libusb_open() return code
-    
-    Hopefully one of the last API tweaks...
-
-commit 2b2e9c40b195261b09ac52ebdb93eef25c79de90
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 16 22:37:56 2008 +0100
-
-    Fix endianness with descriptor handling
-    
-    Alan Stern pointed out that usbfs gives host-endian data, but sysfs gives
-    bus-endian.
-
-commit 1298c51f516a7bf04ca9add1b7db14417cdc66f3
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 12 18:46:37 2008 +0100
-
-    Backend documentation for porting efforts
-    
-    Hopefully comprehensive enough for people to get started.
-
-commit ade26afc42c34ceb1c45afcadd2ea5e8240eaca4
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 12 15:43:30 2008 +0100
-
-    Linux: fix caching of guessed configuration
-    
-    Reported and tested by Xiaofan Chen
-
-commit e25d590a9198995b4f0b6afeb41ecae318715e7e
-Author: Rob Walker <rob@tenfoot.org.uk>
-Date:   Sun May 11 21:14:18 2008 +0100
-
-    Linux: fix bulk transfer early completion
-    
-    We were forgetting about the remaining urbs when a non-final urb
-    completed early.
-    
-    [dsd: some touchups and a warning message for a corner case that we don't handle]
-
-commit fec7c84163e25b8f811632828334d75da82bcb16
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 11 20:31:58 2008 +0100
-
-    Handle hot-unplugging
-    
-    This involved moving from select() to poll() because there is no way to
-    distinguish usbfs's POLLERR condition with select().
-
-commit aeb905fa5d78cdbba80a680aa7a2bb7338f27f65
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 11 16:04:35 2008 +0100
-
-    Documentation work
-
-commit ba5d9a45c06311204f51faef41d1ee215bb5b823
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 11 15:36:24 2008 +0100
-
-    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.
-
-commit 7bedc3b2683f35ee1dd39a2ebe0ec05be0019f38
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 11 15:11:59 2008 +0100
-
-    Document that releasing interface causes SET_INTERFACE control request
-
-commit f2ede9876cd4f5cfa7751b975670fa449187fe3d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 10 21:45:42 2008 +0100
-
-    Support unconfigured devices
-
-commit 8ebb4ccdfaf5f095a1c38787d909d280ea64405c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 10 20:56:44 2008 +0100
-
-    Linux: fix caching of active configuration for non-sysfs
-
-commit c3844f7aeb2176636ce6e6ef697659fdb0b30048
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 10 14:42:43 2008 +0100
-
-    Fetch configurations by index (not value)
-    
-    Otherwise there is no way to know which values to look for.
-
-commit d77052c0d630e33737c38d601fd633155f6b2229
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 10 00:12:53 2008 +0100
-
-    Linux: comprehensive sysfs vs usbfs access
-    
-    Be more flexible when certain parts of sysfs are not available.
-
-commit 74bc842bac1a32a26323da6c3e8af2f66e1b5cfa
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 9 19:38:13 2008 +0100
-
-    Linux: no need to store usbfs node path
-    
-    This can be computed from bus number and device address
-
-commit fe4adcc99e30115204ab832ad3e0170c9aca7629
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 9 14:34:31 2008 +0100
-
-    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.
-
-commit 5741bfe01a2481b8c3830c80edc3637bf62a7e16
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 9 14:36:14 2008 +0100
-
-    libusb_get_device_list() can return negative error code
-
-commit 45413101b78298e9332b22a34bc6bc159000ad8a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu May 8 23:09:21 2008 +0100
-
-    Linux: fix clear_halt implementation
-    
-    The ioctl expects an integer.
-    Bug found with the assistance of Soumen Mondal
-
-commit 10d4e427cc171dfd6ad7f43a33ce3cfebcd7aa04
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu May 8 23:04:52 2008 +0100
-
-    Documentation work
-    
-    Partially based on some libusb-devel discussions
-
-commit ded0a249322571a075e3ed3528021864247dfa55
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 22:57:48 2008 +0100
-
-    Linux: enumerate devices and descriptors from sysfs
-    
-    Suggested by Alan Stern. This avoids waking up any suspended USB devices.
-    sysfs is not available on all systems, so the usbfs mechanism is still
-    in place as a fallback.
-
-commit 885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 21:34:31 2008 +0100
-
-    documentation touchups
-
-commit 59c205d542b43d79fe28622dbe8f03a3a3300b6f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 21:17:03 2008 +0100
-
-    more error code sanitization
-
-commit 88055d4b5913102a90ff666f75fd922c74860dc5
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 20:57:43 2008 +0100
-
-    Isochronous transfer helper functions
-
-commit a95c943ed301dcd20e92b0b3b255568899a4c42e
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 17:54:33 2008 +0100
-
-    free open devices on exit
-
-commit b27fff633843824744df7d334cb89ece329cafa6
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 17:47:49 2008 +0100
-
-    move descriptor parsing into main library
-    
-    OS modules now provide functionality for fetching device/config
-    descriptors
-
-commit a304eca71f22c6df7d70a901483b30f1b8e93378
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 16:22:33 2008 +0100
-
-    Detect endpoint halts and unsupported control requests
-
-commit 7da521954ba661d3f537440c31a84b66e974d56b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon May 5 01:00:31 2008 +0100
-
-    Linux: fix logical URB allocation
-    
-    We were allocating the wrong number of URBs for transfers of size
-    multiples of 16k.
-
-commit 470b1bc42bf53373ce678fc76bab9160a54d6881
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 16:51:23 2008 +0100
-
-    add functionality for querying and detaching kernel driver
-
-commit 17ecfb0ecc833596c43755c80d461cddb9b3b0d7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 16:20:46 2008 +0100
-
-    Descriptor reading functionality
-
-commit bdce367d1bd8691465844b2411c85215498f517d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 14:22:16 2008 +0100
-
-    sanitized error returns from synchronous I/O functions
-
-commit bfe74e9cd9c17a40fff042ea0647326f51cfecae
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 14:10:19 2008 +0100
-
-    implement libusb_reset_device()
-
-commit c01f744ce07bbeccbe353e956479f0cc5a811a6f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 13:46:41 2008 +0100
-
-    Add functionality to clear endpoint halt conditions
-
-commit 5878daa85e3364bb3885190425d4f9deaa2d8c36
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun May 4 00:51:59 2008 +0100
-
-    Fix libusb_get_device_list return value
-    
-    It was documented to return the list length, but was returning 0.
-
-commit a74106a9b48b88bae0e099be34a18d653a8f1238
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 16:50:58 2008 +0100
-
-    Well-defined error codes for some operations
-    
-    Also renamed set_interface_altsetting to set_interface_alt_setting for
-    better consistency
-
-commit 0f463fe671455670efcf4a93e526b2a9082b0afe
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 16:24:11 2008 +0100
-
-    Add libusb_set_configuration()
-
-commit e65608994f795f97e4d6adac20329ca08709db2d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 15:40:23 2008 +0100
-
-    rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
-    improves consistency
-
-commit 5384bbf300779e7936eac9ebd33ee38f5b533f8e
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 14:34:54 2008 +0100
-
-    Linux: better EACCES handling
-
-commit 1936eeeba3f933a078df1005cc7c1533a8ec2bac
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 14:26:56 2008 +0100
-
-    Rename reference counting API
-    
-    This improves consistency with the naming style of other functions
-
-commit e2f822b4f17342f614ab2455179a80975fca6cb0
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat May 3 14:24:40 2008 +0100
-
-    Linux: use read-only access to enumerate devices and descriptors
-    
-    Write access is not needed until later.
-    Also fix handling of open() error code.
-
-commit 81204eed3d0a7744b89b68bd90d567b68d191a91
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 17:45:23 2008 +0100
-
-    document pollfd notifiers
-
-commit e20f8281fb7da32587f81b5eea5818af1eab0fe0
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 17:33:52 2008 +0100
-
-    Allow multiple interfaces to be claimed
-
-commit 66685ff25d81a1f1a2a3dbda882d407638d00672
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 16:55:36 2008 +0100
-
-    Documentation improvements
-
-commit 55bce39cbe0c9746a428b66751d1afe551d86381
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 12:55:34 2008 +0100
-
-    detect short descriptor reads
-
-commit f3f17846dcced6b2dc40f899ed6a2aba151c264b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 12:32:46 2008 +0100
-
-    remove "references" and "referenced by" listings in documentation
-
-commit fbb017dd9a26ce449578482b95157b3c850fa446
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 12:32:08 2008 +0100
-
-    Use typedef ptr types in parameters and return types
-    
-    This is passed through to the docs
-
-commit 3675e978fb7a1042f8601931255658bcd14a2298
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri May 2 12:28:31 2008 +0100
-
-    Expose bus number and device address
-
-commit 2012898ffc492317cb428d97077bf5ee0e98e1da
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Apr 29 15:26:46 2008 +0100
-
-    standardised error codes
-
-commit 0269c75ae3de7acb2dc555e45928750e35fdb320
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Apr 29 13:34:26 2008 +0100
-
-    Fix descriptor handling memory leaks
-
-commit d3ab4e3bd4068cba41c1e12c4b175018dc3cb343
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 23:50:01 2008 +0100
-
-    Rename endpoint_type to transfer_type
-    
-    Matches the USB specs more closely
-
-commit 379e90e0fdcef6f4db1849fa0a7fd524407cf564
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 23:41:24 2008 +0100
-
-    Remove a FIXME comment
-    
-    it can't.
-
-commit 2ddf81420557d016bbcbf28dda0d8d1c64d16264
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 23:30:34 2008 +0100
-
-    Fix unlocked flying_transfers list access
-
-commit 7ac0a405b4c57db42e88cbcba5f135697f03b646
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 23:27:04 2008 +0100
-
-    Remove libusb_cancel_transfer_sync
-    
-    This wasn't a particularly nice API. Cancellation should be handled by
-    the completion handler.
-
-commit a5006fd7b9dae6f1db7969c8744086ba3a7c027b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 19:56:02 2008 +0100
-
-    remove extra timeout check
-    
-    If select() didn't timeout then don't check for more timeouts
-
-commit 3bdafaa359d9c65e1af360b5338e1f25528a8066
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Apr 27 19:53:51 2008 +0100
-
-    Documentation touchups
-    
-    Detail that interrupt polling interval is fixed to endpoint bInterval,
-    and that data may be transferred even on a timeout condition.
-
-commit e12618c79d520955b1abf80a277e881d91907162
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Apr 19 16:17:53 2008 +0100
-
-    add threaded example program
-
-commit 1fcdb0678b759569db7cd530457dbc0a5f86fb1d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Apr 18 23:58:54 2008 +0100
-
-    libusb_device mutex protection
-
-commit 0efd2efa65d5513e5754d717d522b2c5c45332e2
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Apr 18 23:42:40 2008 +0100
-
-    mutex protection for device and handle lists
-
-commit d2ff2b14a15e5099ff0214502944de30f141a39c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Apr 18 20:00:31 2008 +0100
-
-    lock flying_transfers during transfer removal
-
-commit 2569980762cb66804da31e54bef243702da8dfe9
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Apr 18 19:59:56 2008 +0100
-
-    pollfds mutex protection
-
-commit f5a33e08ec0da51ccb5e95a5adec50c5211a9bf5
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Apr 17 18:24:54 2008 +0100
-
-    flying_transfers mutex protection
-    
-    This marks the beginnings of thread safety
-
-commit 85e1994123545125ce0653415d122f9790f8d041
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Apr 17 17:44:28 2008 +0100
-
-    Linux: fix control transfer cancellation
-
-commit cf9b831f7bfd97ba88721c1d934aeda522f3692c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Apr 14 20:03:27 2008 +0100
-
-    set correct endpoint type for isochronous transfers
-    
-    Pointed out by Felix Domke
-
-commit ad6e2b712c5b54af44424e58a2776686314e26b7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Apr 11 21:40:07 2008 +0100
-
-    Linux: fire multiple URBs at once for split transfers
-    
-    This results in a significant performance increase for bulk transfers
-    larger than 16kb, and fixes a bug where data would be spliced and mixed
-    between two simultaneously submitted transfers to the same endpoint.
-    
-    It also allows isochronous transfers larger than 16kb to be submitted.
-    
-    This commit also improves cancellation - the library now understands
-    what is going on.
-
-commit d9b2ce2894ed43d34de6850f2dac50ccabf1db55
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Apr 1 23:28:32 2008 +0100
-
-    Constify some return data
-    
-    Make it clear that apps should not mess with these structures
-
-commit 8d809854e2b19c2b7c27ab05e5d76b34e2a5cead
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 30 22:19:00 2008 +0100
-
-    Rename libusb_poll() to libusb_handle_events()
-
-commit 211f80c9f2a4a58cd2bbf5b7751f45089c8961e7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Mar 25 16:24:30 2008 +0000
-
-    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.
-
-commit b1ade6fca668d8aa156d5b5bf3a933f116144dc2
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 23 21:17:32 2008 +0000
-
-    distcheck fix for docs
-
-commit 62077b7fa5b222e1bb9dea3467585aed69d596e2
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 23 21:13:14 2008 +0000
-
-    Support for changing altsetting
-    
-    Will probably be suject to later consideration w.r.t. claiming of endpoints
-
-commit 0499e9f418607b5786ac0c3e97bc46737a609ca3
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 20 21:10:01 2008 +0000
-
-    it's called bmRequestType
-
-commit 88884ae4bbe721dac117d5190303cb67852fa5d3
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 20 21:07:00 2008 +0000
-
-    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.
-
-commit ead09cde6895df0034a685516987ce253575e9a7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Mar 15 16:35:12 2008 +0000
-
-    API documentation
-    
-    Hopefully mostly complete. Some constants were renamed and move into
-    enums.
-
-commit 285724cc14ea5f993e2c4c92fe0aaf6c335bc139
-Author: Vasily Khoruzhick <anarsoul@gmail.com>
-Date:   Sat Mar 15 13:50:53 2008 +0200
-
-    Fix get_device_list for realloc case
-    
-    get_device_list can modify pointer passed to it with realloc, but this
-    case wasn't handled and caused crash on my machine. Fixed
-    
-    Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-
-commit c0c9432d38b22784070dce3a7874c62c31786a27
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 13 12:36:56 2008 +0000
-
-    Beginnings of cross-platform abstraction
-    
-    This also includes a libusb_get_pollfds API change
-
-commit de4c5341d168697baa4c0901c406deb47e78aae7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Mar 10 18:38:15 2008 +0000
-
-    Add transfer flags
-
-commit aae05f688dc26a013166ab9436fd25018b49d76a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Mar 10 11:32:15 2008 +0000
-
-    Simplify libusb_fill_control_transfer()
-    
-    Transfer length can be inferred from the setup packet.
-
-commit 7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Mar 10 11:29:24 2008 +0000
-
-    get_device fixup
-    
-    Rename API away from "devh" and fix implementation to match header
-
-commit 9e89d1aa82cbe7e21672ee3e2e545238fffc5318
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 9 16:27:06 2008 +0000
-
-    Rename descriptor-getting functions
-    
-    Based on feedback from Tim Roberts
-
-commit 283ae96c3ccbcee1c3950fce18ae47093ae8200e
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 9 16:15:02 2008 +0000
-
-    Simplify cancellation API
-    
-    No need to provide the device here.
-
-commit ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 9 16:12:08 2008 +0000
-
-    Rename libusb_dev_handle to libusb_device_handle
-
-commit 1ac0a7d88f282b6f293c456fac8edb143cbaca3d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 9 01:01:57 2008 +0000
-
-    Move synchronous I/O implementation to its own file
-
-commit 66348c90ea4570bf999ac301089e006d0cce1926
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Mar 9 00:58:09 2008 +0000
-
-    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...)
-
-commit d21ebe47ce578c93cd8969be1c933d503e32e5d4
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Mar 8 12:48:35 2008 +0000
-
-    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.
-
-commit fd6fb3cc093ad47271353a0e468d16547f991382
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Mar 8 11:53:33 2008 +0000
-
-    Add fallback on /proc/bus/usb
-    
-    /dev/bus/usb is a relatively new thing probably not present on every
-    system
-
-commit f3fdf447916289cd92b7190377681894e8ab611a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Mar 8 00:10:16 2008 +0000
-
-    Persistent libusb_device storage
-    
-    Devices are now assigned a session ID (currently busnum:devaddr) which
-    is used to distinguish unique devices.
-    
-    Now multiple callers of libusb_get_device_list will get the same
-    libusb_device structure instances.
-
-commit 23f8fb8bafeeda93ce234cb40eb7219d2e36c19c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 6 23:43:57 2008 +0000
-
-    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.
-
-commit 9cfdb494fccac53a4277da7c8b6d15f1a72a4959
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 6 23:25:20 2008 +0000
-
-    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.
-
-commit 77cea822788e024c848c7f554915f771a2dc1e0f
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Thu Mar 6 17:05:04 2008 +0000
-
-    Remove ctrl debug code
-    
-    This was unintentionally committed
-
-commit b873521a6f575628d535f89278bb67888004d0ca
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Tue Feb 26 22:11:34 2008 +0000
-
-    Notifications for changes to the fd set
-    
-    Applications can now be notified when they should start and stop polling
-    new file descriptors.
-
-commit ca66e16a370c828d08a5bc3f9f203db145c81a4c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Feb 1 12:20:20 2008 +0000
-
-    Fix header installation path
-
-commit e583100a4086c411093eef5c450880b965df6b1b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Jan 30 13:24:54 2008 +0000
-
-    TODO update
-
-commit 637a8d7ff8a11a23588925d9d3003a609bda8075
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Jan 30 13:19:10 2008 +0000
-
-    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.
-
-commit 8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 26 18:16:56 2008 +0000
-
-    Poll usbfs descriptors directly
-    
-    We don't need to use signalfd for this functionality because we can poll
-    the file descriptors for write events.
-
-commit e3ce855acec33d37dd833bca5dad5e8c3773003a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 26 17:26:40 2008 +0000
-
-    Fix dpfp example compilation
-
-commit 1d41a5cda2fefe826877ee4445199af30aa188b7
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 26 17:22:53 2008 +0000
-
-    C++ header safety
-    
-    Pointed out by JF
-
-commit 37b7f9a112eb1441d352467f661205b8872d0553
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 26 14:03:43 2008 +0000
-
-    Only use -fgnu89-inline when supported
-    
-    J F pointed out that this option only works on gcc 4.3 and newer.
-
-commit e3a09ca0b9cb6f46d54a0130f678c6097240a2bd
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sat Jan 5 21:59:40 2008 +0000
-
-    Remove more fpusb remnants
-
-commit dcd5e0075fa84601d997d29bb60bc8370b97a375
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 01:19:07 2008 +0000
-
-    TODO update
-    
-    Start listing the things I want to discuss/reconsider before 1.0 API
-    is final.
-
-commit de53d972ed9c1f21f86ffd585560520e986f212c
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 01:17:06 2008 +0000
-
-    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.
-
-commit 132d84bf8ae34bd0892b3d8207a53d87cc0a9cba
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 01:13:25 2008 +0000
-
-    Use "transfer" instead of "msg"
-    
-    Based on a discussion with Tim Roberts.
-
-commit ea6af58a8643137eb01eeb7d2f65404e390feb1b
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 00:57:00 2008 +0000
-
-    Plural of bus is busses
-    
-    SF #1633043
-
-commit dbb3fd871e3972b4e670f3161e7cd2f58f357600
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 00:54:57 2008 +0000
-
-    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.
-
-commit e9364d72151ae1de9cce4175f330fe1529f02511
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Fri Jan 4 00:40:49 2008 +0000
-
-    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.
-
-commit f4ed0b6a3e0a20555fdfc9e9b8be7e8a2c8ae192
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Dec 30 22:09:50 2007 +0000
-
-    Compiler flags update
-    
-    Also fix some warnings
-
-commit d3d671efe27491baf1d2ceadbfeeb4e7428d6f9a
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Dec 30 22:05:17 2007 +0000
-
-    Fix signalfd structure size on x86
-    
-    ptr is a 64-bit value
-
-commit dfac6756faad76071a92945e3e3a16b8a841a7ea
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Dec 12 23:32:54 2007 +0000
-
-    Don't pass ctrl_msg/bulk_msg structures through async paths
-    
-    These are easiest to construct on the stack, but in the async case it is
-    likely that the submitting function returns (hence stack is destroyed)
-    before URB completion.
-
-commit a8d2881eb7c273892acf2ff6e1f3f552631d1d11
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Dec 3 23:29:22 2007 +0000
-
-    Add functionality to access device descriptors
-
-commit b5a7a411087b37a6bf56b4688a9e3290daaed153
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Mon Dec 3 22:27:21 2007 +0000
-
-    Rename fpusb_device_handle functions to devh
-    
-    Prevents confusion with functions that work on fpusb_dev structures.
-
-commit eacf4505a473df0f521d1b69d5b45448f0709e2d
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Sun Dec 2 23:16:57 2007 +0000
-
-    Add API to access poll fd
-    
-    Almost forgot... :)
-
-commit 852bba4754ec57679c823f33e8feba6e4a564cbe
-Author: Daniel Drake <dsd@gentoo.org>
-Date:   Wed Nov 28 13:48:45 2007 +0000
-
-    Initial commit
-    
-    Basic library structure which supports enumerating detected USB devices

+ 0 - 106
compat/libusb-1.0/msvc/ddk_build.cmd

@@ -1,106 +0,0 @@
-@rem default builds static library.
-@rem you can pass the following arguments (case insensitive):
-@rem - "DLL" to build a DLL instead of a static library
-@rem - "/MT" to build a static library compatible with MSVC's /MT option (LIBCMT vs MSVCRT)
-@echo off
-
-if Test%BUILD_ALT_DIR%==Test goto usage
-
-rem process commandline parameters
-set TARGET=LIBRARY
-set STATIC_LIBC=
-set version=1.0
-
-if "%1" == "" goto no_more_args
-rem /I for case insensitive
-if /I Test%1==TestDLL set TARGET=DYNLINK
-if /I Test%1==Test/MT set STATIC_LIBC=1
-:no_more_args
-
-cd ..\libusb\os
-echo TARGETTYPE=%TARGET% > target
-copy target+..\..\msvc\libusb_sources sources >NUL 2>&1
-del target
-@echo on
-build -cwgZ
-@echo off
-if errorlevel 1 goto builderror
-cd ..\..
-
-set cpudir=i386
-set destType=Win32
-if %_BUILDARCH%==x86 goto isI386
-set cpudir=amd64
-set destType=x64
-:isI386
-
-set srcPath=libusb\os\obj%BUILD_ALT_DIR%\%cpudir%
-
-set dstPath=%destType%\Debug
-if %DDKBUILDENV%==chk goto isDebug
-set dstPath=%destType%\Release
-:isDebug
-
-if exist %destType% goto md2
-mkdir %destType%
-:md2
-if exist %dstPath% goto md3
-mkdir %dstPath%
-:md3
-if exist %dstPath%\dll goto md4
-mkdir %dstPath%\dll
-:md4
-if exist %dstPath%\lib goto md5
-md %dstPath%\lib
-:md5
-if exist %dstPath%\examples goto md6
-md %dstPath%\examples
-:md6
-@echo on
-
-@if /I NOT Test%1==TestDLL goto copylib
-copy %srcPath%\libusb-%version%.dll %dstPath%\dll
-copy %srcPath%\libusb-%version%.pdb %dstPath%\dll
-:copylib
-copy %srcPath%\libusb-%version%.lib %dstPath%\lib
-
-@echo off
-
-if exist examples\listdevs_ddkbuild goto md7
-md examples\listdevs_ddkbuild
-:md7
-
-cd examples\listdevs_ddkbuild
-copy ..\..\msvc\listdevs_sources sources >NUL 2>&1
-@echo on
-build -cwgZ
-@echo off
-if errorlevel 1 goto buildlistdevserror
-cd ..\..
-
-set srcPath=examples\listdevs_ddkbuild\obj%BUILD_ALT_DIR%\%cpudir%
-@echo on
-
-copy %srcPath%\listdevs.exe %dstPath%\examples
-copy %srcPath%\listdevs.pdb %dstPath%\examples
-
-cd msvc
-goto done
-
-
-:builderror
-cd ..\..\msvc
-echo Build failed
-goto done
-
-:buildlistdevserror
-cd ..\..\msvc
-echo listdevs build failed
-goto done
-
-:usage
-echo ddk_build must be run in a WDK build environment
-pause
-goto done
-
-:done

+ 0 - 142
compat/libusb-1.0/msvc/ddk_build.cmd.orig

@@ -1,142 +0,0 @@
-@rem default builds static library.
-@rem you can pass the following arguments (case insensitive):
-@rem - "DLL" to build a DLL instead of a static library
-@rem - "/MT" to build a static library compatible with MSVC's /MT option (LIBCMT vs MSVCRT)
-@echo off
-
-if Test%BUILD_ALT_DIR%==Test goto usage
-
-rem process commandline parameters
-set TARGET=LIBRARY
-set STATIC_LIBC=
-set version=1.0
-
-if "%1" == "" goto no_more_args
-rem /I for case insensitive
-if /I Test%1==TestDLL set TARGET=DYNLINK
-if /I Test%1==Test/MT set STATIC_LIBC=1
-:no_more_args
-
-cd ..\libusb\os
-echo TARGETTYPE=%TARGET% > target
-copy target+..\..\msvc\libusb_sources sources >NUL 2>&1
-del target
-@echo on
-build -cwgZ
-@echo off
-if errorlevel 1 goto builderror
-cd ..\..
-
-set cpudir=i386
-set destType=Win32
-if %_BUILDARCH%==x86 goto isI386
-set cpudir=amd64
-set destType=x64
-:isI386
-
-set srcPath=libusb\os\obj%BUILD_ALT_DIR%\%cpudir%
-
-set dstPath=%destType%\Debug
-if %DDKBUILDENV%==chk goto isDebug
-set dstPath=%destType%\Release
-:isDebug
-
-if exist %destType% goto md2
-mkdir %destType%
-:md2
-if exist %dstPath% goto md3
-mkdir %dstPath%
-:md3
-if exist %dstPath%\dll goto md4
-mkdir %dstPath%\dll
-:md4
-if exist %dstPath%\lib goto md5
-md %dstPath%\lib
-:md5
-if exist %dstPath%\examples goto md6
-md %dstPath%\examples
-:md6
-@echo on
-
-@if /I NOT Test%1==TestDLL goto copylib
-copy %srcPath%\libusb-%version%.dll %dstPath%\dll
-copy %srcPath%\libusb-%version%.pdb %dstPath%\dll
-:copylib
-copy %srcPath%\libusb-%version%.lib %dstPath%\lib
-
-@echo off
-
-if exist examples\listdevs_ddkbuild goto md7
-md examples\listdevs_ddkbuild
-:md7
-
-cd examples\listdevs_ddkbuild
-copy ..\..\msvc\listdevs_sources sources >NUL 2>&1
-@echo on
-build -cwgZ
-@echo off
-if errorlevel 1 goto buildlistdevserror
-cd ..\..
-
-set srcPath=examples\listdevs_ddkbuild\obj%BUILD_ALT_DIR%\%cpudir%
-@echo on
-
-copy %srcPath%\listdevs.exe %dstPath%\examples
-copy %srcPath%\listdevs.pdb %dstPath%\examples
-
-cd msvc
-goto done
-
-
-:builderror
-cd ..\..\msvc
-echo Build failed
-goto done
-
-<<<<<<< HEAD
-:buildlistdevserror
-cd ..\..\msvc
-echo listdevs build failed
-=======
-if exist examples\getopt\getopt_ddkbuild goto md9
-md examples\getopt\getopt_ddkbuild
-:md9
-
-cd examples\getopt\getopt_ddkbuild
-copy ..\..\..\msvc\getopt_sources sources >NUL 2>&1
-@echo on
-%BUILD_CMD%
-@echo off
-if errorlevel 1 goto builderror
-cd ..\..\..
-
-if exist examples\fxload_ddkbuild goto md8
-md examples\fxload_ddkbuild
-:md8
-
-cd examples\fxload_ddkbuild
-copy ..\..\msvc\fxload_sources sources >NUL 2>&1
-@echo on
-%BUILD_CMD%
-@echo off
-if errorlevel 1 goto builderror
-cd ..\..
-
-set srcPath=examples\fxload_ddkbuild\obj%BUILD_ALT_DIR%\%cpudir%
-@echo on
-
-copy %srcPath%\fxload.exe %dstPath%\examples
-copy %srcPath%\fxload.pdb %dstPath%\examples
-
-@echo off
-
-cd msvc
->>>>>>> 0597533... Samples: Add fxload sample for Cypress EZ-USB chips
-goto done
-
-:usage
-echo ddk_build must be run in a WDK build environment
-pause
-goto done
-
-:done

+ 0 - 56
compat/libusb-1.0/msvc/libusb.dsw

@@ -1,56 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libusb_dll"=".\libusb_dll.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libusb_static"=".\libusb_static.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "listdevs"=".\listdevs.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libusb_static
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-

+ 0 - 190
compat/libusb-1.0/msvc/libusb_dll.dsp

@@ -1,190 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libusb_dll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libusb_dll - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libusb_dll.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libusb_dll.mak" CFG="libusb_dll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libusb_dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libusb_dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "libusb_dll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "../Win32/Release/dll"
-# PROP Intermediate_Dir "../Win32/Release/dll"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "LIBUSB_DLL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "../libusb" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /D "_USRDLL" /FR /FD /EHsc /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"Win32/Release/dll/libusb-1.0.dll"
-
-!ELSEIF  "$(CFG)" == "libusb_dll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "../Win32/Debug/dll"
-# PROP Intermediate_Dir "../Win32/Debug/dll"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "LIBUSB_DLL_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "../libusb" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /D "_USRDLL" /FR /FD /EHsc /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /n
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /out:"Win32/Debug/dll/libusb-1.0.dll"
-# SUBTRACT LINK32 /pdb:none /incremental:no
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libusb_dll - Win32 Release"
-# Name "libusb_dll - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\libusb\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\darwin_usb.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\descriptor.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\io.c
-# End Source File
-# Begin Source File
-
-SOURCE="..\libusb\libusb-1.0.rc"
-# End Source File
-# Begin Source File
-
-SOURCE="..\libusb\libusb-1.0.def"
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\linux_usbfs.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_windows.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\sync.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_windows.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\windows_usb.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\darwin_usb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\libusb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\libusbi.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\linux_usbfs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_posix.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_windows.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_posix.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_windows.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\windows_usb.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project

+ 0 - 421
compat/libusb-1.0/msvc/libusb_dll.vcproj

@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="libusb-1.0 (dll)"
-	ProjectGUID="{8224C054-5968-4238-832C-167155E7ECC3}"
-	RootNamespace="libusbdll"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\dll"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\dll\libusb-1.0"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\libusb-1.0.dll"
-				LinkIncremental="2"
-				ModuleDefinitionFile="..\libusb\libusb-1.0.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\dll"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\dll\libusb-1.0"
-			ConfigurationType="2"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\libusb-1.0.dll"
-				LinkIncremental="1"
-				ModuleDefinitionFile="..\libusb\libusb-1.0.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\dll"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\dll\libusb-1.0"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\libusb-1.0.dll"
-				LinkIncremental="2"
-				ModuleDefinitionFile="..\libusb\libusb-1.0.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\dll"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\dll\libusb-1.0"
-			ConfigurationType="2"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				OutputFile="$(OutDir)\libusb-1.0.dll"
-				LinkIncremental="1"
-				ModuleDefinitionFile="..\libusb\libusb-1.0.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\libusb\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\descriptor.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\io.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\libusb-1.0.def"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\sync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\threads_windows.c"
-				>
-			</File>
-
-			<File
-				RelativePath="..\libusb\os\poll_windows.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\windows_usb.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\config.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\libusb.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\libusbi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\threads_windows.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\poll_windows.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\windows_usb.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-			<File
-				RelativePath="..\libusb\libusb-1.0.rc"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 166
compat/libusb-1.0/msvc/libusb_dll.vcxproj

@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>libusb-1.0 (dll)</ProjectName>
-    <ProjectGuid>{349EE8FA-7D25-4909-AAF5-FF3FADE72187}</ProjectGuid>
-    <RootNamespace>libusbdll</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\dll\libusb-1.0\</IntDir>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">libusb-1.0</TargetName>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)libusb-1.0.dll</OutputFile>
-      <ModuleDefinitionFile>..\libusb\libusb-1.0.def</ModuleDefinitionFile>
-      <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_WIN64;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)libusb-1.0.dll</OutputFile>
-      <ModuleDefinitionFile>..\libusb\libusb-1.0.def</ModuleDefinitionFile>
-      <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)libusb-1.0.dll</OutputFile>
-      <ModuleDefinitionFile>..\libusb\libusb-1.0.def</ModuleDefinitionFile>
-      <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_WIN64;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Link>
-      <OutputFile>$(OutDir)libusb-1.0.dll</OutputFile>
-      <ModuleDefinitionFile>..\libusb\libusb-1.0.def</ModuleDefinitionFile>
-      <EmbedManagedResourceFile>libusb-1.0.rc;%(EmbedManagedResourceFile)</EmbedManagedResourceFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\libusb\core.c" />
-    <ClCompile Include="..\libusb\descriptor.c" />
-    <ClCompile Include="..\libusb\io.c" />
-    <ClCompile Include="..\libusb\os\poll_windows.c" />
-    <ClCompile Include="..\libusb\sync.c" />
-    <ClCompile Include="..\libusb\os\threads_windows.c" />
-    <ClCompile Include="..\libusb\os\windows_usb.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include=".\config.h" />
-    <ClInclude Include="..\libusb\libusb.h" />
-    <ClInclude Include="..\libusb\libusbi.h" />
-    <ClInclude Include="..\libusb\os\poll_windows.h" />
-    <ClInclude Include="..\libusb\os\threads_windows.h" />
-    <ClInclude Include="..\libusb\os\windows_usb.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\libusb\libusb-1.0.def" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\libusb\libusb-1.0.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 69
compat/libusb-1.0/msvc/libusb_dll.vcxproj.filters

@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{d81e81ca-b13e-4a15-b54b-b12b41361e6b}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\libusb\core.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\descriptor.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\io.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\poll_windows.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\sync.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\threads_windows.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\windows_usb.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include=".\config.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\libusb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\libusbi.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\poll_windows.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\threads_windows.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\windows_usb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="..\libusb\libusb-1.0.def">
-      <Filter>Resource Files</Filter>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\libusb\libusb-1.0.rc">
-      <Filter>Resource Files</Filter>
-    </ResourceCompile>
-  </ItemGroup>
-</Project>

+ 0 - 36
compat/libusb-1.0/msvc/libusb_sources

@@ -1,36 +0,0 @@
-#TARGETTYPE is not defined, to allow selection between static lib or DLL with ddk_build
-TARGETNAME=libusb-1.0
-DLLDEF=..\libusb-1.0.def
-
-!IFNDEF MSC_WARNING_LEVEL
-MSC_WARNING_LEVEL=/W3
-!ENDIF
-
-!IFDEF STATIC_LIBC
-USE_LIBCMT=1
-!ELSE
-USE_MSVCRT=1
-!ENDIF
-
-INCLUDES=..;..\..\msvc;$(DDK_INC_PATH)
-C_DEFINES= $(C_DEFINES) $(LIBUSB_DEFINES) /DDDKBUILD
-
-# http://jpassing.com/2009/10/21/ltcg-issues-with-the-win7amd64-environment-of-wdk-7600/
-# prevents the following error when using the 64 bit static lib with Visual Studio 2010:
-# "fatal error C1001: An internal error has occurred in the compiler.
-# (compiler file 'f:\dd\vctools\compiler\utc\src\p2\p2symtab.c', line 1823)"
-# and the following with Visual Studio 2010:
-# "fatal error C1047: The object or library file 'libusb-1.0.lib' was created with
-#  an older compiler than other objects; rebuild old objects and libraries"
-USER_C_FLAGS=/GL-
-
-TARGETLIBS=$(SDK_LIB_PATH)\kernel32.lib
-
-SOURCES=..\core.c \
-	..\descriptor.c \
-	..\io.c \
-	..\sync.c \
-	threads_windows.c \
-	poll_windows.c \
-	windows_usb.c \
-	..\libusb-1.0.rc

+ 0 - 170
compat/libusb-1.0/msvc/libusb_static.dsp

@@ -1,170 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libusb_static" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=libusb_static - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libusb_static.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libusb_static.mak" CFG="libusb_static - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libusb_static - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libusb_static - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "libusb_static - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "../Win32/Release/lib"
-# PROP Intermediate_Dir "../Win32/Release/lib"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "." /I "../libusb" /D "WIN32" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /D "_LIB" /FR /FD /EHsc /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"../Win32/Release/lib/libusb-1.0.lib"
-
-!ELSEIF  "$(CFG)" == "libusb_static - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "../Win32/Debug/lib"
-# PROP Intermediate_Dir "../Win32/Debug/lib"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "." /I "../libusb" /D "WIN32" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /D "_LIB" /FR /FD /GZ /EHsc /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /n
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"../Win32/Debug/lib/libusb-1.0.lib"
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libusb_static - Win32 Release"
-# Name "libusb_static - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\libusb\core.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\darwin_usb.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\descriptor.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\io.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\linux_usbfs.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_windows.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\sync.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_windows.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\windows_usb.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\darwin_usb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\libusb.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\libusbi.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\linux_usbfs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_posix.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\poll_windows.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_posix.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\threads_windows.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\libusb\os\windows_usb.h
-# End Source File
-# End Group
-# End Target
-# End Project

+ 0 - 346
compat/libusb-1.0/msvc/libusb_static.vcproj

@@ -1,346 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="libusb-1.0 (static)"
-	ProjectGUID="{5AB6B770-1925-48D5-ABC2-930F3259C020}"
-	RootNamespace="libusb"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\lib"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\lib\libusb-1.0"
-			ConfigurationType="4"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)\libusb-1.0.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\lib"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\lib\libusb-1.0"
-			ConfigurationType="4"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)\libusb-1.0.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\lib"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\lib\libusb-1.0"
-			ConfigurationType="4"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)\libusb-1.0.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\lib"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\lib\libusb-1.0"
-			ConfigurationType="4"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".;..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-				OutputFile="$(OutDir)\libusb-1.0.lib"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\libusb\core.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\descriptor.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\io.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\sync.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\threads_windows.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\poll_windows.c"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\windows_usb.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\config.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\libusb.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\libusbi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\threads_windows.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\poll_windows.h"
-				>
-			</File>
-			<File
-				RelativePath="..\libusb\os\windows_usb.h"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 150
compat/libusb-1.0/msvc/libusb_static.vcxproj

@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>libusb-1.0 (static)</ProjectName>
-    <ProjectGuid>{349EE8F9-7D25-4909-AAF5-FF3FADE72187}</ProjectGuid>
-    <RootNamespace>libusb</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>StaticLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>StaticLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>StaticLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>StaticLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\libusb-1.0\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\lib\libusb-1.0\</IntDir>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">libusb-1.0</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">libusb-1.0</TargetName>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Lib>
-      <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile>
-    </Lib>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_WIN64;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Lib>
-      <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile>
-    </Lib>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Lib>
-      <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile>
-    </Lib>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <AdditionalIncludeDirectories>.;..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>_WIN32;_WIN64;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Lib>
-      <OutputFile>$(OutDir)libusb-1.0.lib</OutputFile>
-    </Lib>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\libusb\core.c" />
-    <ClCompile Include="..\libusb\descriptor.c" />
-    <ClCompile Include="..\libusb\io.c" />
-    <ClCompile Include="..\libusb\os\poll_windows.c" />
-    <ClCompile Include="..\libusb\sync.c" />
-    <ClCompile Include="..\libusb\os\threads_windows.c" />
-    <ClCompile Include="..\libusb\os\windows_usb.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include=".\config.h" />
-    <ClInclude Include="..\libusb\libusb.h" />
-    <ClInclude Include="..\libusb\libusbi.h" />
-    <ClInclude Include="..\libusb\os\poll_windows.h" />
-    <ClInclude Include="..\libusb\os\threads_windows.h" />
-    <ClInclude Include="..\libusb\os\windows_usb.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 56
compat/libusb-1.0/msvc/libusb_static.vcxproj.filters

@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\libusb\core.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\descriptor.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\io.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\poll_windows.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\sync.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\threads_windows.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\libusb\os\windows_usb.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include=".\config.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\libusb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\libusbi.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\poll_windows.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\threads_windows.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\libusb\os\windows_usb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-</Project>

+ 0 - 61
compat/libusb-1.0/msvc/libusb_vs2005.sln

@@ -1,61 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (static)", "libusb_static.vcproj", "{5AB6B770-1925-48D5-ABC2-930F3259C020}"
-	ProjectSection(WebsiteProperties) = preProject
-		Debug.AspNetCompiler.Debug = "True"
-		Release.AspNetCompiler.Debug = "False"
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (dll)", "libusb_dll.vcproj", "{8224C054-5968-4238-832C-167155E7ECC3}"
-	ProjectSection(WebsiteProperties) = preProject
-		Debug.AspNetCompiler.Debug = "True"
-		Release.AspNetCompiler.Debug = "False"
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "listdevs", "listdevs.vcproj", "{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}"
-	ProjectSection(WebsiteProperties) = preProject
-		Debug.AspNetCompiler.Debug = "True"
-		Release.AspNetCompiler.Debug = "False"
-	EndProjectSection
-	ProjectSection(ProjectDependencies) = postProject
-		{5AB6B770-1925-48D5-ABC2-930F3259C020} = {5AB6B770-1925-48D5-ABC2-930F3259C020}
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Debug|Win32.ActiveCfg = Debug|Win32
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Debug|Win32.Build.0 = Debug|Win32
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Debug|x64.ActiveCfg = Debug|x64
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Debug|x64.Build.0 = Debug|x64
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Release|Win32.ActiveCfg = Release|Win32
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Release|Win32.Build.0 = Release|Win32
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Release|x64.ActiveCfg = Release|x64
-		{5AB6B770-1925-48D5-ABC2-930F3259C020}.Release|x64.Build.0 = Release|x64
-		{8224C054-5968-4238-832C-167155E7ECC3}.Debug|Win32.ActiveCfg = Debug|Win32
-		{8224C054-5968-4238-832C-167155E7ECC3}.Debug|Win32.Build.0 = Debug|Win32
-		{8224C054-5968-4238-832C-167155E7ECC3}.Debug|x64.ActiveCfg = Debug|x64
-		{8224C054-5968-4238-832C-167155E7ECC3}.Debug|x64.Build.0 = Debug|x64
-		{8224C054-5968-4238-832C-167155E7ECC3}.Release|Win32.ActiveCfg = Release|Win32
-		{8224C054-5968-4238-832C-167155E7ECC3}.Release|Win32.Build.0 = Release|Win32
-		{8224C054-5968-4238-832C-167155E7ECC3}.Release|x64.ActiveCfg = Release|x64
-		{8224C054-5968-4238-832C-167155E7ECC3}.Release|x64.Build.0 = Release|x64
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Debug|Win32.ActiveCfg = Debug|Win32
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Debug|Win32.Build.0 = Debug|Win32
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Debug|x64.ActiveCfg = Debug|x64
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Debug|x64.Build.0 = Debug|x64
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Release|Win32.ActiveCfg = Release|Win32
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Release|Win32.Build.0 = Release|Win32
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Release|x64.ActiveCfg = Release|x64
-		{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 0 - 49
compat/libusb-1.0/msvc/libusb_vs2010.sln

@@ -1,49 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (static)", "libusb_static.vcxproj", "{349EE8F9-7D25-4909-AAF5-FF3FADE72187}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (dll)", "libusb_dll.vcxproj", "{349EE8FA-7D25-4909-AAF5-FF3FADE72187}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "listdevs", "listdevs.vcxproj", "{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.ActiveCfg = Debug|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.Build.0 = Debug|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.ActiveCfg = Debug|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.Build.0 = Debug|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.ActiveCfg = Release|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.Build.0 = Release|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.ActiveCfg = Release|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.Build.0 = Release|x64
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.ActiveCfg = Debug|Win32
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.ActiveCfg = Debug|x64
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.ActiveCfg = Release|Win32
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Release|x64.ActiveCfg = Release|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|Win32.Build.0 = Debug|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|x64.ActiveCfg = Debug|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|x64.Build.0 = Debug|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|Win32.ActiveCfg = Release|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|Win32.Build.0 = Release|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|x64.ActiveCfg = Release|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|x64.Build.0 = Release|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|Win32.Build.0 = Debug|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|x64.ActiveCfg = Debug|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|x64.Build.0 = Debug|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|Win32.ActiveCfg = Release|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|Win32.Build.0 = Release|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|x64.ActiveCfg = Release|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 0 - 77
compat/libusb-1.0/msvc/libusb_vs2010.sln.orig

@@ -1,77 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (static)", "libusb_static.vcxproj", "{349EE8F9-7D25-4909-AAF5-FF3FADE72187}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libusb-1.0 (dll)", "libusb_dll.vcxproj", "{349EE8FA-7D25-4909-AAF5-FF3FADE72187}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "listdevs", "listdevs.vcxproj", "{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}"
-EndProject
-<<<<<<< HEAD:msvc/libusb_vs2010.sln
-=======
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xusb", "xusb.vcxproj", "{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fxload", "fxload.vcxproj", "{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}"
-	ProjectSection(ProjectDependencies) = postProject
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E} = {AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "getopt", "getopt.vcxproj", "{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}"
-EndProject
->>>>>>> 0597533... Samples: Add fxload sample for Cypress EZ-USB chips:msvc/libusb_2010.sln
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Debug|x64 = Debug|x64
-		Release|Win32 = Release|Win32
-		Release|x64 = Release|x64
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.ActiveCfg = Debug|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.Build.0 = Debug|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.ActiveCfg = Debug|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.Build.0 = Debug|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.ActiveCfg = Release|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.Build.0 = Release|Win32
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.ActiveCfg = Release|x64
-		{349EE8F9-7D25-4909-AAF5-FF3FADE72187}.Release|x64.Build.0 = Release|x64
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Debug|Win32.ActiveCfg = Debug|Win32
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Debug|x64.ActiveCfg = Debug|x64
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Release|Win32.ActiveCfg = Release|Win32
-		{349EE8FA-7D25-4909-AAF5-FF3FADE72187}.Release|x64.ActiveCfg = Release|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|Win32.Build.0 = Debug|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|x64.ActiveCfg = Debug|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Debug|x64.Build.0 = Debug|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|Win32.ActiveCfg = Release|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|Win32.Build.0 = Release|Win32
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|x64.ActiveCfg = Release|x64
-		{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}.Release|x64.Build.0 = Release|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|Win32.ActiveCfg = Debug|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|Win32.Build.0 = Debug|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|x64.ActiveCfg = Debug|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Debug|x64.Build.0 = Debug|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|Win32.ActiveCfg = Release|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|Win32.Build.0 = Release|Win32
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|x64.ActiveCfg = Release|x64
-		{3F3138D0-7AB7-4268-9BF3-1A3EA5503A11}.Release|x64.Build.0 = Release|x64
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Debug|Win32.ActiveCfg = Debug|Win32
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Debug|Win32.Build.0 = Debug|Win32
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Debug|x64.ActiveCfg = Debug|x64
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Debug|x64.Build.0 = Debug|x64
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Release|Win32.ActiveCfg = Release|Win32
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Release|Win32.Build.0 = Release|Win32
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Release|x64.ActiveCfg = Release|x64
-		{9E166F7A-A793-9FB6-0A67-F0AED8AE8C88}.Release|x64.Build.0 = Release|x64
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Debug|Win32.ActiveCfg = Debug|Win32
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Debug|Win32.Build.0 = Debug|Win32
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Debug|x64.ActiveCfg = Debug|x64
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Debug|x64.Build.0 = Debug|x64
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|Win32.ActiveCfg = Release|Win32
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|Win32.Build.0 = Release|Win32
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x64.ActiveCfg = Release|x64
-		{AE83E1B4-CE06-47EE-B7A3-C3A1D7C2D71E}.Release|x64.Build.0 = Release|x64
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 0 - 103
compat/libusb-1.0/msvc/listdevs.dsp

@@ -1,103 +0,0 @@
-# Microsoft Developer Studio Project File - Name="listdevs" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=listdevs - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "listdevs.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "listdevs.mak" CFG="listdevs - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "listdevs - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "listdevs - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "listdevs - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "../Win32/Release/examples"
-# PROP Intermediate_Dir "../Win32/Release/examples/listdevs"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../libusb" /I "." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /FR /FD /EHsc /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "listdevs - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "../Win32/Debug/examples"
-# PROP Intermediate_Dir "../Win32/Debug/examples/listdevs"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../libusb" /I "." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /U "_MBCS" /FR /FD /GZ /EHsc /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo /n "../Win32/Debug/dll/core.sbr" "../Win32/Debug/dll/descriptor.sbr" "../Win32/Debug/dll/io.sbr" "../Win32/Debug/dll/sync.sbr" "../Win32/Debug/dll/poll_windows.sbr" "../Win32/Debug/dll/threads_windows.sbr" "../Win32/Debug/dll/windows_usb.sbr"
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib shell32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "listdevs - Win32 Release"
-# Name "listdevs - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\examples\listdevs.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project

+ 0 - 360
compat/libusb-1.0/msvc/listdevs.vcproj

@@ -1,360 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="listdevs"
-	ProjectGUID="{98CFD8FA-EE20-40D5-AF13-F8C4856D6CA5}"
-	RootNamespace="examples"
-	Keyword="Win32Proj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-		<Platform
-			Name="x64"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\examples"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\examples\$(ProjectName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\examples"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\examples\$(ProjectName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\examples"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\examples\$(ProjectName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\libusb"
-				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="..\$(PlatformName)\$(ConfigurationName)\examples"
-			IntermediateDirectory="..\$(PlatformName)\$(ConfigurationName)\examples\$(ProjectName)"
-			ConfigurationType="1"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				TargetEnvironment="3"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\libusb"
-				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="false"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="1"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				TargetMachine="17"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCWebDeploymentTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\examples\listdevs.c"
-				>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Detect64BitPortabilityProblems="false"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|x64"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						Detect64BitPortabilityProblems="false"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>

+ 0 - 165
compat/libusb-1.0/msvc/listdevs.vcxproj

@@ -1,165 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectName>listdevs</ProjectName>
-    <ProjectGuid>{F4938DB0-3DE7-4737-9C5A-EAD1BE819F87}</ProjectGuid>
-    <RootNamespace>examples</RootNamespace>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\$(ProjectName)\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\$(ProjectName)\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\$(ProjectName)\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\$(Platform)\$(Configuration)\examples\$(ProjectName)\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <BuildLog>
-      <Path>$(IntDir)$(ProjectName).htm</Path>
-    </BuildLog>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(TargetDir)$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <BuildLog>
-      <Path>$(IntDir)$(ProjectName).htm</Path>
-    </BuildLog>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(TargetDir)$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <BuildLog>
-      <Path>$(IntDir)$(ProjectName).htm</Path>
-    </BuildLog>
-    <ClCompile>
-      <AdditionalIncludeDirectories>..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Link>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>$(TargetDir)$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <BuildLog>
-      <Path>$(IntDir)$(ProjectName).htm</Path>
-    </BuildLog>
-    <Midl>
-      <TargetEnvironment>X64</TargetEnvironment>
-    </Midl>
-    <ClCompile>
-      <AdditionalIncludeDirectories>..\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-    </ClCompile>
-    <Link>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ProgramDatabaseFile>$(TargetDir)$(ProjectName).pdb</ProgramDatabaseFile>
-      <SubSystem>Console</SubSystem>
-      <TargetMachine>MachineX64</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="..\examples\listdevs.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include=".\libusb_static.vcxproj">
-      <Project>{349ee8f9-7d25-4909-aaf5-ff3fade72187}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 14
compat/libusb-1.0/msvc/listdevs.vcxproj.filters

@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\examples\listdevs.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>

+ 0 - 19
compat/libusb-1.0/msvc/listdevs_sources

@@ -1,19 +0,0 @@
-TARGETNAME=listdevs
-TARGETTYPE=PROGRAM
-386_STDCALL=0
-
-_NT_TARGET_VERSION= $(_NT_TARGET_VERSION_WINXP)
-!IFNDEF MSC_WARNING_LEVEL
-MSC_WARNING_LEVEL=/W3
-!ENDIF
-
-!IFDEF STATIC_LIBC
-USE_LIBCMT=1
-!ELSE
-USE_MSVCRT=1
-!ENDIF
-
-UMTYPE=console
-INCLUDES=..\..\libusb;$(DDK_INC_PATH)
-UMLIBS=..\..\libusb\os\obj$(BUILD_ALT_DIR)\*\libusb-1.0.lib
-SOURCES=..\listdevs.c

+ 0 - 256
compat/libusb-1.0/msvc/stdint.h

@@ -1,256 +0,0 @@
-/**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file was originally part of the w64 mingw-runtime package.
- */
-
-/* ISO C9x  7.18  Integer types <stdint.h>
- * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794)
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz>
- *  Modified for libusb/MSVC: Pete Batard <pbatard@gmail.com>
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- *  Date: 2010-04-02
- */
-
-#ifndef _MSC_VER
-#error This header should only be used with Microsoft compilers
-#endif
-
-#ifndef _STDINT_H
-#define _STDINT_H
-
-#ifndef _INTPTR_T_DEFINED
-#define _INTPTR_T_DEFINED
-#ifndef __intptr_t_defined
-#define __intptr_t_defined
-#undef intptr_t
-#ifdef _WIN64
-  typedef __int64 intptr_t;
-#else
-  typedef int intptr_t;
-#endif /* _WIN64 */
-#endif /* __intptr_t_defined */
-#endif /* _INTPTR_T_DEFINED */
-
-#ifndef _UINTPTR_T_DEFINED
-#define _UINTPTR_T_DEFINED
-#ifndef __uintptr_t_defined
-#define __uintptr_t_defined
-#undef uintptr_t
-#ifdef _WIN64
-  typedef unsigned __int64 uintptr_t;
-#else
-  typedef unsigned int uintptr_t;
-#endif /* _WIN64 */
-#endif /* __uintptr_t_defined */
-#endif /* _UINTPTR_T_DEFINED */
-
-#ifndef _PTRDIFF_T_DEFINED
-#define _PTRDIFF_T_DEFINED
-#ifndef _PTRDIFF_T_
-#define _PTRDIFF_T_
-#undef ptrdiff_t
-#ifdef _WIN64
-  typedef __int64 ptrdiff_t;
-#else
-  typedef int ptrdiff_t;
-#endif /* _WIN64 */
-#endif /* _PTRDIFF_T_ */
-#endif /* _PTRDIFF_T_DEFINED */
-
-#ifndef _WCHAR_T_DEFINED
-#define _WCHAR_T_DEFINED
-#ifndef __cplusplus
-  typedef unsigned short wchar_t;
-#endif /* C++ */
-#endif /* _WCHAR_T_DEFINED */
-
-#ifndef _WCTYPE_T_DEFINED
-#define _WCTYPE_T_DEFINED
-#ifndef _WINT_T
-#define _WINT_T
-  typedef unsigned short wint_t;
-  typedef unsigned short wctype_t;
-#endif /* _WINT_T */
-#endif /* _WCTYPE_T_DEFINED */
-
-/* 7.18.1.1  Exact-width integer types */
-typedef __int8 int8_t;
-typedef unsigned __int8   uint8_t;
-typedef __int16  int16_t;
-typedef unsigned __int16  uint16_t;
-typedef __int32  int32_t;
-typedef unsigned __int32  uint32_t;
-typedef __int64  int64_t;
-typedef unsigned __int64   uint64_t;
-
-/* 7.18.1.2  Minimum-width integer types */
-typedef signed char int_least8_t;
-typedef unsigned char   uint_least8_t;
-typedef short  int_least16_t;
-typedef unsigned short  uint_least16_t;
-typedef int  int_least32_t;
-typedef unsigned   uint_least32_t;
-typedef __int64  int_least64_t;
-typedef unsigned __int64   uint_least64_t;
-
-/*  7.18.1.3  Fastest minimum-width integer types
- *  Not actually guaranteed to be fastest for all purposes
- *  Here we use the exact-width types for 8 and 16-bit ints.
- */
-typedef __int8 int_fast8_t;
-typedef unsigned __int8 uint_fast8_t;
-typedef __int16  int_fast16_t;
-typedef unsigned __int16  uint_fast16_t;
-typedef __int32  int_fast32_t;
-typedef unsigned  __int32  uint_fast32_t;
-typedef __int64  int_fast64_t;
-typedef unsigned __int64   uint_fast64_t;
-
-/* 7.18.1.5  Greatest-width integer types */
-typedef __int64  intmax_t;
-typedef unsigned __int64   uintmax_t;
-
-/* 7.18.2  Limits of specified-width integer types */
-
-/* 7.18.2.1  Limits of exact-width integer types */
-#define INT8_MIN (-128)
-#define INT16_MIN (-32768)
-#define INT32_MIN (-2147483647 - 1)
-#define INT64_MIN  (-9223372036854775807LL - 1)
-
-#define INT8_MAX 127
-#define INT16_MAX 32767
-#define INT32_MAX 2147483647
-#define INT64_MAX 9223372036854775807LL
-
-#define UINT8_MAX 255
-#define UINT16_MAX 65535
-#define UINT32_MAX 0xffffffffU  /* 4294967295U */
-#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */
-
-/* 7.18.2.2  Limits of minimum-width integer types */
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST64_MIN INT64_MIN
-
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MAX INT64_MAX
-
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-/* 7.18.2.3  Limits of fastest minimum-width integer types */
-#define INT_FAST8_MIN INT8_MIN
-#define INT_FAST16_MIN INT16_MIN
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST64_MIN INT64_MIN
-
-#define INT_FAST8_MAX INT8_MAX
-#define INT_FAST16_MAX INT16_MAX
-#define INT_FAST32_MAX INT32_MAX
-#define INT_FAST64_MAX INT64_MAX
-
-#define UINT_FAST8_MAX UINT8_MAX
-#define UINT_FAST16_MAX UINT16_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-#define UINT_FAST64_MAX UINT64_MAX
-
-/* 7.18.2.4  Limits of integer types capable of holding
-    object pointers */
-#ifdef _WIN64
-#define INTPTR_MIN INT64_MIN
-#define INTPTR_MAX INT64_MAX
-#define UINTPTR_MAX UINT64_MAX
-#else
-#define INTPTR_MIN INT32_MIN
-#define INTPTR_MAX INT32_MAX
-#define UINTPTR_MAX UINT32_MAX
-#endif
-
-/* 7.18.2.5  Limits of greatest-width integer types */
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
-/* 7.18.3  Limits of other integer types */
-#ifdef _WIN64
-#define PTRDIFF_MIN INT64_MIN
-#define PTRDIFF_MAX INT64_MAX
-#else
-#define PTRDIFF_MIN INT32_MIN
-#define PTRDIFF_MAX INT32_MAX
-#endif
-
-#define SIG_ATOMIC_MIN INT32_MIN
-#define SIG_ATOMIC_MAX INT32_MAX
-
-#ifndef SIZE_MAX
-#ifdef _WIN64
-#define SIZE_MAX UINT64_MAX
-#else
-#define SIZE_MAX UINT32_MAX
-#endif
-#endif
-
-#ifndef WCHAR_MIN  /* also in wchar.h */
-#define WCHAR_MIN 0U
-#define WCHAR_MAX 0xffffU
-#endif
-
-/*
- * wint_t is unsigned short for compatibility with MS runtime
- */
-#define WINT_MIN 0U
-#define WINT_MAX 0xffffU
-
-
-/* 7.18.4  Macros for integer constants */
-
-/* 7.18.4.1  Macros for minimum-width integer constants
-
-    Accoding to Douglas Gwyn <gwyn@arl.mil>:
-	"This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC
-	9899:1999 as initially published, the expansion was required
-	to be an integer constant of precisely matching type, which
-	is impossible to accomplish for the shorter types on most
-	platforms, because C99 provides no standard way to designate
-	an integer constant with width less than that of type int.
-	TC1 changed this to require just an integer constant
-	*expression* with *promoted* type."
-
-	The trick used here is from Clive D W Feather.
-*/
-
-#define INT8_C(val) (INT_LEAST8_MAX-INT_LEAST8_MAX+(val))
-#define INT16_C(val) (INT_LEAST16_MAX-INT_LEAST16_MAX+(val))
-#define INT32_C(val) (INT_LEAST32_MAX-INT_LEAST32_MAX+(val))
-/*  The 'trick' doesn't work in C89 for long long because, without
-    suffix, (val) will be evaluated as int, not intmax_t */
-#define INT64_C(val) val##i64
-
-#define UINT8_C(val) (val)
-#define UINT16_C(val) (val)
-#define UINT32_C(val) (val##i32)
-#define UINT64_C(val) val##ui64
-
-/* 7.18.4.2  Macros for greatest-width integer constants */
-#define INTMAX_C(val) val##i64
-#define UINTMAX_C(val) val##ui64
-
-#endif