kusano 7d535a
commit ab9cd5a7be637f7b793987971a706b1d11c27ded
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 08:10:11 2012 +0200
kusano 7d535a
kusano 7d535a
    libusb-1.0.9
kusano 7d535a
kusano 7d535a
commit 696400ad83531bcf944c71164a46f9ccb6a33df3
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 08:08:34 2012 +0200
kusano 7d535a
kusano 7d535a
    AUTHORS: Update list of contributors
kusano 7d535a
kusano 7d535a
commit 19f94537ea55586dd85f8d627fcfaa6173069ea1
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 06:41:34 2012 +0200
kusano 7d535a
kusano 7d535a
    AUTHORS: Add Martin Pieuchot as copyright holder
kusano 7d535a
kusano 7d535a
commit 1a1c633d7912a2565f6af0c9294e10a759d40e05
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 06:41:12 2012 +0200
kusano 7d535a
kusano 7d535a
    AUTHORS: Add Hans de Goede as copyright holder
kusano 7d535a
kusano 7d535a
commit 9477f793341d59cc861acb283e6cb03b5730ac91
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 06:40:45 2012 +0200
kusano 7d535a
kusano 7d535a
    AUTHORS: Add Peter Stuge as copyright holder
kusano 7d535a
kusano 7d535a
commit 4b0dfe9770356af3c51103a9b3d63c5f8cc63d8b
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Apr 2 15:47:53 2012 +0100
kusano 7d535a
kusano 7d535a
    AUTHORS: Update Pete Batard's copyright years and email address
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit f98eaca0985364be00fcfde3fd3884075092a4e9
kusano 7d535a
    
kusano 7d535a
    [stuge: Remove unrelated changes]
kusano 7d535a
kusano 7d535a
commit 9f0ea78357b7b1654cb3e7de6ff57f5f378b68f1
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 08:35:04 2012 +0200
kusano 7d535a
kusano 7d535a
    AUTHORS: Update Nathan Hjelm's copyright years
kusano 7d535a
kusano 7d535a
commit 8d38506ebc9fb57a40113e5a7739572a42b826d8
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 06:36:08 2012 +0200
kusano 7d535a
kusano 7d535a
    README: Add the BSDs, punctuation, mailinglist link, and remove Daniel
kusano 7d535a
kusano 7d535a
commit 05cbe2de45806db309343cdf298d8569c55863e5
kusano 7d535a
Author: James Hanko <james.hanko@tridentmicro.com>
kusano 7d535a
Date:   Wed Oct 19 17:32:34 2011 -0700
kusano 7d535a
kusano 7d535a
    Linux: Search for /dev/usbdev<bus>.<device> USB device special files
kusano 7d535a
    
kusano 7d535a
    If neither the (now deprecated) usbfs filesystem nor udev is available
kusano 7d535a
    then libusb searches for device nodes also in /dev where they may be
kusano 7d535a
    created if the kernel was built with the option CONFIG_USB_DEVICE_CLASS.
kusano 7d535a
    This helps on embedded systems such as Android, and all mdev users.
kusano 7d535a
    
kusano 7d535a
    Fixes #119.
kusano 7d535a
kusano 7d535a
commit a806d169e6b5f675289cb9307fcd6b908edd9219
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 04:32:47 2012 +0200
kusano 7d535a
kusano 7d535a
    Add a timestamp in log messages
kusano 7d535a
    
kusano 7d535a
    Fixes #34.
kusano 7d535a
kusano 7d535a
commit 03f4d40c748506c85f88427dd53afd5c663a2929
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 02:24:44 2012 +0200
kusano 7d535a
kusano 7d535a
    Include library version in the very first libusb_init() debug message
kusano 7d535a
kusano 7d535a
commit 84d5eafd1f24a1c6f77f0c2a2ad40e1fbfdea381
kusano 7d535a
Author: Martin Pieuchot <mpi@openbsd.org>
kusano 7d535a
Date:   Thu Apr 19 13:33:36 2012 +0200
kusano 7d535a
kusano 7d535a
    OpenBSD: Provide libusb_get_device_speed() data
kusano 7d535a
    
kusano 7d535a
    Because the different speed values used by the libusb and OpenBSD's
kusano 7d535a
    usb_device_info structure are compatible, keep the code simple and
kusano 7d535a
    just copy the value returned by the USB_GET_DEVICEINFO ioctl() call.
kusano 7d535a
    
kusano 7d535a
    Fixes #45.
kusano 7d535a
kusano 7d535a
commit c145ec09732fac2eef53accc07314040d22b64a5
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Apr 20 00:11:01 2012 +0200
kusano 7d535a
kusano 7d535a
    doc/Makefile.am: Remove username from SF web rsync upload command
kusano 7d535a
    
kusano 7d535a
    Commit c407a2d97b6f8715d3452257a0adac40a20178e6 did it for tarballs.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit ca159f15737e9097a4d031c9950f281c42af040a
kusano 7d535a
kusano 7d535a
commit 6506013c6d4face34cfec79dd0584e9f528cbc6a
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:30:24 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Remove #define compile time options in the backend source code
kusano 7d535a
    
kusano 7d535a
    * The DYNAMIC_FDS, AUTO_CLAIM and FORCE_INSTANT_TIMEOUTS options
kusano 7d535a
      were introduced for development/testing and don't appear to be
kusano 7d535a
      used by the Windows backend users => remove them.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 4cccbed825fe1dc138121640a6497d7d05aac159
kusano 7d535a
kusano 7d535a
commit e291e369b975692dfa1a0f029244af597fa61220
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:05:37 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Warn on one libusb_get_device_list() memory allocation failure
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
kusano 7d535a
kusano 7d535a
commit 2f40a03ea0552cd8b5ce3d7667b20dc04da061da
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:05:37 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Add textual error name to debug message on auto-release errors
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
kusano 7d535a
kusano 7d535a
commit 3c7f85a49b42ac36c6d41294858518c554ac4694
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:05:37 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Silence warning about unused function guid_to_string()
kusano 7d535a
    
kusano 7d535a
    Commit 6b1982b1bd321b55698ce537e64648e8aec85f6f removed the #ifdef
kusano 7d535a
    around guid_to_string() but this ended up causing a warning when
kusano 7d535a
    the function wasn't being called. Add it back with correct _MSC_VER.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
kusano 7d535a
    
kusano 7d535a
    [stuge: Rewrite commit message for libusb.git]
kusano 7d535a
kusano 7d535a
commit eb55963a6b33799ea76c34f538f21e86f235ea62
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:05:37 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Base DUMMY_HANDLE on LONG_PTR instead of LONG
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
kusano 7d535a
kusano 7d535a
commit d930865987de523061eca259a7fed11aea626831
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Apr 10 13:05:37 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Prefer calloc() over malloc() and cast all allocations
kusano 7d535a
    
kusano 7d535a
    This silences VS2010 intellisense warnings on memory allocation.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 24d595aa71e7fd0f14d40e933a33f852f7269c8b
kusano 7d535a
kusano 7d535a
commit df35117ce58b74fa530baaaccc30adaf432398ea
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Apr 19 22:55:44 2012 +0200
kusano 7d535a
kusano 7d535a
    Add libusb_get_version() API function
kusano 7d535a
    
kusano 7d535a
    Let's see how this will be used. Fixes #53.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 37dfd16c8c2f36c81c86de303072def0dc405e32
kusano 7d535a
    
kusano 7d535a
    [stuge: Remove unrelated changes]
kusano 7d535a
    [stuge: Add struct libusb_version member rc for release candidate suffix]
kusano 7d535a
    [stuge: Add struct libusb_version member describe for git describe output]
kusano 7d535a
kusano 7d535a
commit 29d5f63c5765f36ea65b55c4cd5f36e1f10a4dae
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Apr 19 22:25:07 2012 +0200
kusano 7d535a
kusano 7d535a
    Windows: Rename VS2005 solution and add VS2010 project files
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit fcad0941e52eb2fd6d57d3327f420db14dfabf0b
kusano 7d535a
    
kusano 7d535a
    [stuge: Remove xusb references]
kusano 7d535a
    [stuge: Add newlines at end of new files]
kusano 7d535a
    [stuge: Rename libusb_20??.sln to libusb_vs20??.sln]
kusano 7d535a
kusano 7d535a
commit b217ec1f904c4382010a3a834a7c58d595b594cf
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Sat Mar 31 22:32:56 2012 +0100
kusano 7d535a
kusano 7d535a
    libusb/Makefile.am: Fix missing DLL .def file from make dist
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 10dc1ea9a799b13b7423968130da812aa97289bf
kusano 7d535a
    
kusano 7d535a
    [stuge: Use EXTRA_DIST in libusb/Makefile.am instead]
kusano 7d535a
kusano 7d535a
commit 54cb51d8417e0128eb9088bf628db138c9daa2a0
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Sat Mar 31 22:14:47 2012 +0100
kusano 7d535a
kusano 7d535a
    Makefile.am: Fix msvc dir not being included in make dist
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit a8a80b60a14e3a8269e42dedf34fda66da8e0e50
kusano 7d535a
kusano 7d535a
commit 38d5ba472c6cb728ec818a0c8d964b632c8a7992
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 30 13:40:32 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Don't spam the console with 'device unconfigured' errors
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 3c968be61befc47d33562843e5479ff67303b0c4
kusano 7d535a
kusano 7d535a
commit 93f14087b2e79d71ba1e53c0b9c7da655dd1258e
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Thu Apr 19 05:52:58 2012 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Silence warning: cast from pointer to integer of different size
kusano 7d535a
    
kusano 7d535a
    As per http://marc.info/?m=133483651109899
kusano 7d535a
    
kusano 7d535a
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
kusano 7d535a
commit 0efc2086646200d8dee86cbbb1e98136383a05c3
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Thu Mar 29 23:21:25 2012 +0100
kusano 7d535a
kusano 7d535a
    .gitattributes: Add export-ignore for .gitattributs and .gitignore
kusano 7d535a
    
kusano 7d535a
    This keeps the git files out of archives created by gitweb.
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 2250152b251243f75c951533ae7b1139a785cfe6
kusano 7d535a
    
kusano 7d535a
    [stuge: Removed unrelated whitespace changes]
kusano 7d535a
kusano 7d535a
commit a7ef55c02f0116b94cb75831e5d90ad258c662f8
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Wed Mar 28 01:02:02 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: fix Clang warnings about unused assignations
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit c0e7b289fdb35687b90263b14426319d2b96b132
kusano 7d535a
kusano 7d535a
commit ac8eed67e1595ee5a069623e48362d8a85dcb252
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Mar 26 23:34:25 2012 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: LT_LANG([Windows Resource]) makes windres check redundant
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit 4f9fd6a29a712b0e3312983e9ff153e6d7ed0822
kusano 7d535a
kusano 7d535a
commit 89ce6f7d05dc8ff4a441a01b192d2e20857f6c48
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Mar 27 00:03:07 2012 +0100
kusano 7d535a
kusano 7d535a
    Windows: Bring .vcproj x86_64 output directories in line with x86_32
kusano 7d535a
    
kusano 7d535a
    libusbx.git commit abdb4437ea1897226076fa706651e350dba1cfd5
kusano 7d535a
kusano 7d535a
commit 77743c6f5b3cfa2d06dcb32204bc65d8bd4fec80
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:11 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Fix a comment in handle_iso_completion()
kusano 7d535a
    
kusano 7d535a
    Fix the comment at the end of handle_iso_completion, we don't stop on
kusano 7d535a
    urbs / isoc packets with less data then requested, which is a good
kusano 7d535a
    thing since it is a normal condition for isoc transfers.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 5b87c2c7475a8d68270e19336afec0c5a08579ca
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:10 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Remove bogus status handling from handle_iso_completion()
kusano 7d535a
    
kusano 7d535a
    Remove a useless check+set of status because:
kusano 7d535a
    1. The check is always true; and
kusano 7d535a
    2. The new value is never used
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit e23d8f67eab947e5d41216e0139f0a50d1342ef8
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:09 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Translate isoc packet status codes to LIBUSB_TRANSFER_ codes
kusano 7d535a
    
kusano 7d535a
    During testing of my usbredir code I hit a scenario where my libusb
kusano 7d535a
    app was seeing EXDEV as status in the transfer's iso_packet_desc.
kusano 7d535a
    
kusano 7d535a
    This happened because we didn't translate linux negative errno errors
kusano 7d535a
    in each isoc packet's status to LIBUSB_TRANSFER_ status codes! This
kusano 7d535a
    patch adds these translations.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 7199bc2c9c351b553b6175a588237ee793719281
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:08 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Fix URB return code handling
kusano 7d535a
    
kusano 7d535a
    During testing of my usbredir code I hit a case where EOVERFLOW was not
kusano 7d535a
    handled in handle_control_completion(). Instead of just fixing this one
kusano 7d535a
    case I've audited (and fixed where necessary) all handle_foo_completion()
kusano 7d535a
    functions to know about all errors documented in
kusano 7d535a
    linux/Documentation/usb/error-codes.txt.
kusano 7d535a
    
kusano 7d535a
    Note that for handle_iso_completion() this patch actually removes the
kusano 7d535a
    handling of some codes, since these can never occur on an iso urb (they
kusano 7d535a
    can only occur on the iso packets included in the urb, see the next patch
kusano 7d535a
    in this series). Also, in case an unknown status is encountered on an iso
kusano 7d535a
    urb this patch sets the urb's status to ERROR rather then leaving it at
kusano 7d535a
    completed.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 98bc7b8d125c2756deadfc889dcefd4e6f2fcd02
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:07 2012 +0100
kusano 7d535a
kusano 7d535a
    Don't print an error when libusb_cancel_transfer() fails with NOT_FOUND
kusano 7d535a
    
kusano 7d535a
    As stated in the documentation for libusb_cancel_transfer(),
kusano 7d535a
    LIBUSB_ERROR_NOT_FOUND is an expected return value for
kusano 7d535a
    libusb_cancel_transfer() under certain circumstances, so
kusano 7d535a
    printing an error every time this happens is undesirable.
kusano 7d535a
    
kusano 7d535a
    Even more so because under Linux IOCTL_USBFS_DISCARDURB sets errno
kusano 7d535a
    to EINVAL when the kernel can't not find the urb in the kernel's
kusano 7d535a
    urbs-in-flight list, which means that the urb has already completed
kusano 7d535a
    at the host controller level but it has not necessarily been reaped
kusano 7d535a
    yet. IOW under Linux libusb_cancel_transfer() may yield a result of
kusano 7d535a
    LIBUSB_ERROR_NOT_FOUND *before* the transfer's callback has been
kusano 7d535a
    called! In conclusion there is no way for applications to avoid
kusano 7d535a
    calling libusb_cancel_transfer() on already completed transfers,
kusano 7d535a
    and these errors can and do happen frequently for some USB traffic.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 4db8275da59996eb1c22d2e9e9c527fa58b288ad
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Mar 9 11:31:06 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Fix cancel_transfer return value when cancelling a multi-urb transfer
kusano 7d535a
    
kusano 7d535a
    If we fail to cancel the last urb of a multi-urb transfer because it
kusano 7d535a
    has already completed (errno == EINVAL on DISCARD_URB), then the entire
kusano 7d535a
    transfer has already completed, so returning NOT_FOUND is consistent
kusano 7d535a
    with what the documentation for libusb_cancel_transfer() says.
kusano 7d535a
    
kusano 7d535a
    But if we've successfully cancelled the last urb, and then another urb
kusano 7d535a
    fails with errno == EINVAL, this means that we've still cancelled the
kusano 7d535a
    transfer, as it has only *partially* completed.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit b22253ba9cbd399299b534a8c5e3bbac3f240963
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Apr 19 04:05:29 2012 +0200
kusano 7d535a
kusano 7d535a
    libusb-1.0.pc: Mention OpenBSD and NetBSD in description
kusano 7d535a
kusano 7d535a
commit 6aa0fc60d94e3123de230d3fbc9196814c0e466e
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Apr 16 05:59:44 2012 +0200
kusano 7d535a
kusano 7d535a
    io.c: Add debug message with the callback address on completed transfer
kusano 7d535a
kusano 7d535a
commit de41604560a57b2279ac1d0a10b8192a9224d284
kusano 7d535a
Author: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
Date:   Sun Apr 15 11:50:27 2012 +0800
kusano 7d535a
kusano 7d535a
    Experimental support for NetBSD using the OpenBSD backend
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
kusano 7d535a
commit 404054cb508881c9bd6bc575b66c4f509046b4af
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Apr 19 00:41:45 2012 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Separate per-OS backend selection from per-backend settings
kusano 7d535a
kusano 7d535a
commit 2eba7e4197cf9afa77451186e1a116ee3ae91adc
kusano 7d535a
Author: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
Date:   Sun Apr 15 07:17:18 2012 +0800
kusano 7d535a
kusano 7d535a
    Linux: Silence unused variable warnings when without CLOCK_MONOTONIC
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
kusano 7d535a
commit bc790a9c414871cc1d33f1c7686048434a700e45
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Apr 7 05:20:36 2012 +0200
kusano 7d535a
kusano 7d535a
    examples: Use snprintf() instead of sprintf() in dpfp and dpfp_threaded
kusano 7d535a
    
kusano 7d535a
    The OpenBSD C compiler generates a warning for every use of sprintf()
kusano 7d535a
    and for a good reason. Reported in http://marc.info/?m=133376187514495
kusano 7d535a
    
kusano 7d535a
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
kusano 7d535a
commit bffa232dca51bcc41df71c5735fa56370b7509ad
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Apr 7 03:55:36 2012 +0200
kusano 7d535a
kusano 7d535a
    OpenBSD: Fix warning: 'hpriv' may be used uninitialized
kusano 7d535a
    
kusano 7d535a
    As reported in http://marc.info/?m=133376187514495
kusano 7d535a
    
kusano 7d535a
    The variable would be used uninitialized when the internal list of
kusano 7d535a
    open devices is empty as obsd_handle_events() checks which device
kusano 7d535a
    the event fd belongs to, which can not actually happen, but if it
kusano 7d535a
    ever does happen then we will now return LIBUSB_ERROR_NO_DEVICE.
kusano 7d535a
    
kusano 7d535a
    Reported-by: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
kusano 7d535a
commit 6b1982b1bd321b55698ce537e64648e8aec85f6f
kusano 7d535a
Author: Moses McKnight <moses@texband.net>
kusano 7d535a
Date:   Fri Mar 30 21:53:20 2012 -0500
kusano 7d535a
kusano 7d535a
    Windows: Fix build on VC++2003 which doesn't support variadic macros
kusano 7d535a
    
kusano 7d535a
    Change _MSC_VER tests to check for >= 1400 instead of > 1200 because
kusano 7d535a
    Visual C++ did not support variadic macros until VC++2005, as per
kusano 7d535a
    http://msdn.microsoft.com/en-us/library/ms177415%28v=VS.80%29.aspx
kusano 7d535a
    
kusano 7d535a
    Since usbi_dbg() is a function and not a macro with the old MS C
kusano 7d535a
    compilers the functions guid_to_string() and windows_error_str()
kusano 7d535a
    need to be compiled unconditionally, and the compiler should remove
kusano 7d535a
    the dead code when debug logging is disabled on newer compilers.
kusano 7d535a
kusano 7d535a
commit 58ac0355e547080c82d02685a32480b891383d3d
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Mar 31 03:44:40 2012 +0200
kusano 7d535a
kusano 7d535a
    Windows: Don't use a log function body macro for old MS compilers
kusano 7d535a
    
kusano 7d535a
    The duplication is a lot more straightforward than the previous LOG_BODY
kusano 7d535a
    macro, which also didn't handle the special debug case correctly. The
kusano 7d535a
    duplicated code is fortunately not very long.
kusano 7d535a
kusano 7d535a
commit 76af4c99bd6122c1dd7b58858b669c919d8c8806
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Mar 22 01:52:59 2012 +0100
kusano 7d535a
kusano 7d535a
    libusbi.h: Add IS_EPIN() IS_EPOUT() IS_XFERIN() and IS_XFEROUT() macros
kusano 7d535a
    
kusano 7d535a
    The macros make backend code a little simpler to read, since the
kusano 7d535a
    transfer and endpoint direction is checked in several places across
kusano 7d535a
    the supported platforms.
kusano 7d535a
kusano 7d535a
commit e3d0a4cb9e2f9872c9fdbb22d7ded169e111fc8f
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Feb 22 14:21:54 2012 +0100
kusano 7d535a
kusano 7d535a
    Add LIBUSB_TRANSFER_ADD_ZERO_PACKET flag to indicate need for ZLP
kusano 7d535a
    
kusano 7d535a
    Some protocols which use USB require an extra zero length data packet
kusano 7d535a
    to signal end-of-transfer on bulk endpoints, if the last data packet
kusano 7d535a
    is exactly wMaxPacketSize bytes long.
kusano 7d535a
    
kusano 7d535a
    This flag allows applications to inform libusb about this requirement,
kusano 7d535a
    so that libusb can handle the issue transparently.
kusano 7d535a
    
kusano 7d535a
    At the moment the new flag is only supported on Linux, and submitting
kusano 7d535a
    a transfer with the flag set returns an error at submit time on other
kusano 7d535a
    systems. Hopefully implementations will soon follow for other systems.
kusano 7d535a
    
kusano 7d535a
    References #6.
kusano 7d535a
kusano 7d535a
commit 7e0c747cc5ed0a31f38dff5eb5f03d4043b05ada
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 19 06:58:16 2012 +0100
kusano 7d535a
kusano 7d535a
    libusb.h: Add comma after last value in enums to ease future expansion
kusano 7d535a
kusano 7d535a
commit c20ec7a927c05e0b960269751c26ab2b6e0b39ab
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 19 05:39:33 2012 +0100
kusano 7d535a
kusano 7d535a
    Linux: Rework bulk continuation check to generic kernel version check
kusano 7d535a
    
kusano 7d535a
    The old check_flag_bulk_continuation() tested for one specific running
kusano 7d535a
    kernel version. The new kernel_version_ge() instead allows to test the
kusano 7d535a
    running kernel version against major, minor and sublevel parameters.
kusano 7d535a
kusano 7d535a
commit cf8f5a7be821099b143fcea8e4ba553daa22818b
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 19 05:32:10 2012 +0100
kusano 7d535a
kusano 7d535a
    OpenBSD: Correctly catch attempts to do isochronous OUT transfers
kusano 7d535a
    
kusano 7d535a
    LIBUSB_ENDPOINT_OUT is the value of the direction bit, which is 0 for
kusano 7d535a
    OUT transfers, so the previous condition could never evaluate to true.
kusano 7d535a
kusano 7d535a
commit ae8e86cffb81858af5eeddbf2ea1aec6d55f573d
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 19 00:42:20 2012 +0100
kusano 7d535a
kusano 7d535a
    Darwin: Do not reject devices with product id 0x0000
kusano 7d535a
    
kusano 7d535a
    Fixes #128.
kusano 7d535a
kusano 7d535a
commit 4630fc22cff8ad3e1afa9b223378c0aabe282b5c
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Feb 13 16:59:51 2012 +0100
kusano 7d535a
kusano 7d535a
    Do not call timerfd functions when timerfd is not being used
kusano 7d535a
    
kusano 7d535a
    When libusb was built with timerfd support but used on a system
kusano 7d535a
    without timerfd support the library would hang indefinitely on
kusano 7d535a
    completion of the first transfer, since timerfd functions were
kusano 7d535a
    being called unconditionally and the error returned when timerfd
kusano 7d535a
    was not being used caused a confused internal state.
kusano 7d535a
    
kusano 7d535a
    Many thanks to Ivo Smits for looking into the issue, proposing
kusano 7d535a
    an initial solution, and helping with testing! Fixes #73.
kusano 7d535a
kusano 7d535a
commit c40f3df1efbb9232b525e5f675746762ca2304b8
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Sun Feb 12 13:49:35 2012 -0500
kusano 7d535a
kusano 7d535a
    Windows: Fix MSVC6 IDE warning on line continuation in libusb-1.0.rc
kusano 7d535a
    
kusano 7d535a
    * libusb\libusb-1.0.rc(21): Could not find the file LIBUSB_RC.
kusano 7d535a
    * only shows up first time after opening workspace.
kusano 7d535a
    * shows up on either build or clean.
kusano 7d535a
    * not actually due to rc.exe, but prior to it.
kusano 7d535a
    * probably an IDE bug.
kusano 7d535a
    * does not show up when running an exported makefile.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
kusano 7d535a
commit 5526841023101bafa280755c3bd19fc44b9c32a0
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Sat Jan 7 23:30:23 2012 +0000
kusano 7d535a
kusano 7d535a
    Windows: Add Renesas SuperSpeed support for libusb_get_device_speed()
kusano 7d535a
    
kusano 7d535a
    * tests conducted using a Renesas PCIE USB 3.0 controller and driver and
kusano 7d535a
      a mass storage USB 3.0 confirm that USB_NODE_CONNECTION_INFORMATION_EX
kusano 7d535a
      uses (undocumented) value 3 for SuperSpeed
kusano 7d535a
kusano 7d535a
commit 3df437680f8f5406795ec5f32d96612d327b2ca4
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Feb 10 18:06:43 2012 +0100
kusano 7d535a
kusano 7d535a
    autogen.sh: Try to use libtoolize before trying glibtoolize
kusano 7d535a
    
kusano 7d535a
    This helps on Mac OS X where an old glibtoolize is included in the
kusano 7d535a
    system and newer, manually installed, versions provide libtoolize.
kusano 7d535a
    
kusano 7d535a
    See also http://marc.info/?m=132490560131894
kusano 7d535a
kusano 7d535a
commit 4afbc78fe09bfc3dd7a609e5f82e9272c9e6226d
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Feb 8 15:54:21 2012 +0100
kusano 7d535a
kusano 7d535a
    Rename the lsusb example program to listdevs
kusano 7d535a
    
kusano 7d535a
    This is intended to reduce confusion with the much more significant
kusano 7d535a
    lsusb utility which is part of the usbutils package.
kusano 7d535a
kusano 7d535a
commit 57ab55159298b7057e0dd9b3854f7fd1550588ed
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:44:21 2011 -0500
kusano 7d535a
kusano 7d535a
    core.c: Fix clang warning about useless store to a variable
kusano 7d535a
kusano 7d535a
commit 32bbbd133e24c24d02646c0f7d1963404d4955f2
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:43:46 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Clarify comments on event thread creation and termination
kusano 7d535a
kusano 7d535a
commit 6cf3285a4e0dfaec0fe53b8eb6a9281e3c5bcb6c
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:43:46 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Fix incorrect mutex protection of libusb_darwin_acfl global
kusano 7d535a
kusano 7d535a
commit 662ced422cf1ffce68753296a81dccf87f3a1c57
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:43:46 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Use retained runloop variable instead of CFRunLoopGetCurrent()
kusano 7d535a
kusano 7d535a
commit 952a9bb6116afc69c4bae4714c2eb0713bf62a6d
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:37:22 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Fix libusb_init() and libusb_exit() refcount race condition
kusano 7d535a
    
kusano 7d535a
    Use OSAtomicIncrement32Barrier() and OSAtomicDecrement32Barrier()
kusano 7d535a
    in darwin_init() and darwin_exit() to be thread safe.
kusano 7d535a
kusano 7d535a
commit 721cc1c19fc8e88c4482ab3d1e8a34fa100c403c
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Dec 9 13:33:28 2011 -0500
kusano 7d535a
kusano 7d535a
    threads_posix.c: Fix prototype warning by including threads_posix.h
kusano 7d535a
kusano 7d535a
commit f6ef0fca4b36657c1a0885c18cc4c4afcb4f7339
kusano 7d535a
Author: Dave Camarillo <dave.camarillo@gmail.com>
kusano 7d535a
Date:   Fri Sep 23 11:56:58 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: Fix crash during enumeration with >= 64 connected devices
kusano 7d535a
    
kusano 7d535a
    * indexes were outgrowing the unref_list array before realloc,
kusano 7d535a
      resulting in out of bound access and crash.
kusano 7d535a
kusano 7d535a
commit e280760331e8b39ad3530235653644654166b322
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 26 16:31:13 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows MSVC6: Remove SetupAPI, AdvAPI32 and OLE32 dependencies
kusano 7d535a
    
kusano 7d535a
    * this ensures that libusb dependent applications only need
kusano 7d535a
      to link with libusb on Windows
kusano 7d535a
    * (copied from Pete's msvc08 mods to msvc6 by Michael)
kusano 7d535a
kusano 7d535a
commit fa66c93253855c9146011a6854d65df6d390039f
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Dec 13 21:18:10 2011 -0500
kusano 7d535a
kusano 7d535a
    Windows: Output an error message on calls to libusb_get_pollfds()
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
kusano 7d535a
commit 637145ed29ee7c7b13ac45d10cf1f798fc06cbd9
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Thu Jun 3 22:14:20 2010 -0500
kusano 7d535a
kusano 7d535a
    io.c: Fix comment since pthreads isn't the only threading libusb uses
kusano 7d535a
kusano 7d535a
commit bb37939ab44a54a054f73e2f381808b12fb9cb33
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Mon Aug 2 19:59:12 2010 -0500
kusano 7d535a
kusano 7d535a
    libusb.h: Cast in libusb_get_string_descriptor() to avoid MSVC6 warning
kusano 7d535a
    
kusano 7d535a
    On MSVC6 bitwise OR promotes to int, causing the warning.
kusano 7d535a
kusano 7d535a
commit ca09754471acba9a22fe8fc09170e5660d1d5c5d
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Fri Dec 23 16:50:21 2011 -0600
kusano 7d535a
kusano 7d535a
    Windows: guid_to_string() is only discarded when macro-usbi_dbg used
kusano 7d535a
    
kusano 7d535a
    * usbi_dbg encloses all references to guid_to_string
kusano 7d535a
    * MinGW/cygwin warn about an unused function, so the #if
kusano 7d535a
      squelches this warning
kusano 7d535a
    * MSVC6 uses a variadic function form of usbi_dbg instead
kusano 7d535a
      of a macro, so the compiler still "sees" guid_to_string
kusano 7d535a
      and it therefore needs to always be defined for MSVC6,
kusano 7d535a
      even if it's only a stub.
kusano 7d535a
    * So we define it if usbi_dbg is used OR if MSVC6 is used.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
kusano 7d535a
commit 8e15adcb0089882d10269ab77d35e193770ab90e
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Tue Nov 15 01:11:12 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Fix undefined datatype 'LONG_PTR' in MSVC6
kusano 7d535a
    
kusano 7d535a
    * issue reported by Elmi
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
kusano 7d535a
commit 17ad642cae618cc09c5516612fa3880d4b6b8635
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Sun Nov 13 23:10:15 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Fix for MSVC6 preprocessor not accepting blank parameters
kusano 7d535a
    
kusano 7d535a
    * unlike later iterations of Visual Studio, MSVC6 does not accept
kusano 7d535a
      blank parameters on macro calls [eg. CALL(a, ,b)]
kusano 7d535a
    * blank params were used with the DLL_DECLARE and DLL_LOAD macros
kusano 7d535a
    * issue reported by Elmi
kusano 7d535a
kusano 7d535a
commit c591a7cbf7dbc6fbb4368e65cf58a8cd02582aeb
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Tue Oct 26 11:39:38 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: Switch MSVC6 .dsp project files from MBCS to Unicode
kusano 7d535a
    
kusano 7d535a
    * MBCS (which is different from UTF-8) only makes sense if
kusano 7d535a
      supporting Windows 95/98, which we don't
kusano 7d535a
    * (try to match Pete's vcproj changes in MSVC6)
kusano 7d535a
kusano 7d535a
commit 536e424fd7d057fc3f20f9939f9de4572e51c815
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Tue Dec 13 21:39:40 2011 -0500
kusano 7d535a
kusano 7d535a
    Windows: Add missing MSVC6 lsusb.dsp project file
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
kusano 7d535a
commit c56828857eb7ba6fb4f7701693dbb3fe4e75d5f6
kusano 7d535a
Author: Martin Pieuchot <mpi@openbsd.org>
kusano 7d535a
Date:   Mon Jan 30 09:59:30 2012 +0100
kusano 7d535a
kusano 7d535a
    OpenBSD backend
kusano 7d535a
kusano 7d535a
commit d2285744c7fa4007bb411be354268209d350b0f2
kusano 7d535a
Author: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
Date:   Fri Jan 13 18:07:34 2012 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Darwin: Move -lobjc from LIBS to PC_LIBS_PRIVATE
kusano 7d535a
    
kusano 7d535a
    Since commit 40327cd134718475f6cec8935b856d4fdff2099c it is neccessary
kusano 7d535a
    to explicitly include -lobjc not only when linking libusb itself, but
kusano 7d535a
    also for programs linking statically against libusb. References #63.
kusano 7d535a
    
kusano 7d535a
    See also http://marc.info/?m=132505900202378
kusano 7d535a
kusano 7d535a
commit 93b0e09d53ed1d177631af9182378492481a790a
kusano 7d535a
Author: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
Date:   Fri Jan 13 13:04:00 2012 +0100
kusano 7d535a
kusano 7d535a
    examples: Link only with ../libusb/libusb-1.0.la and not with -lusb-1.0
kusano 7d535a
    
kusano 7d535a
    Previous _LDFLAGS included both the freshly built libusb in ../libusb
kusano 7d535a
    and -lusb-1.0, where libtool would usually resolve the latter to an
kusano 7d535a
    already-installed libusb library in the system. The extra reference
kusano 7d535a
    to a second libusb library resulted in failure to build examples on
kusano 7d535a
    Mac OS X in some cases, and is plain wrong.
kusano 7d535a
    
kusano 7d535a
    See also the thread at http://marc.info/?m=132637593623667
kusano 7d535a
kusano 7d535a
commit cdc5df8f1b206a7c19bc221e8a9a97d5d98deb85
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Jan 12 10:34:55 2012 +0100
kusano 7d535a
kusano 7d535a
    libusb/Makefile.am: Avoid recursive variables in .rc silent-rule
kusano 7d535a
    
kusano 7d535a
    Not every make supports recursive variable expansion so some automake
kusano 7d535a
    versions complain about non-POSIX variable names ever since commit
kusano 7d535a
    70bec4a9f8ec28d36c731011fa24d37c74ad3523 which added support for
kusano 7d535a
    silent-rules in our rule to compile the Windows .rc file.
kusano 7d535a
    
kusano 7d535a
    This commit removes the recursive variables and instead uses the
kusano 7d535a
    simple and generic GEN message and associated variable.
kusano 7d535a
kusano 7d535a
commit a8e2e7cab278fbfcba91909eaf762cf66da9eda5
kusano 7d535a
Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
kusano 7d535a
Date:   Sat Sep 24 18:27:54 2011 +0200
kusano 7d535a
kusano 7d535a
    Core: Fix #122 warning: no previous prototype for ‘usbi_log_v’
kusano 7d535a
    
kusano 7d535a
    Declare the usbi_log_v() function before using it.
kusano 7d535a
kusano 7d535a
commit e88ecb1e65604c222f82da586bb9e9066d66fbba
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Oct 14 14:40:29 2011 -0400
kusano 7d535a
kusano 7d535a
    Darwin: Set a name for the background thread on Mac OS X 10.6 and later
kusano 7d535a
    
kusano 7d535a
    The call to pthread_setname_np() makes it easy to identify the
kusano 7d535a
    background thread in the Xcode debugger and in crash reports.
kusano 7d535a
kusano 7d535a
commit 60bad550dcb31a315a667a6614c52f712c82f45f
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 22 21:42:35 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb/Makefile.am: Add libusb-1.0.rc dependency on version.h
kusano 7d535a
kusano 7d535a
commit 70bec4a9f8ec28d36c731011fa24d37c74ad3523
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 22 21:38:29 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb/Makefile.am: Make the libusb-1.0.rc rule support silent-rules
kusano 7d535a
kusano 7d535a
commit fa9b682a638e54a4556ef6bd343ef56d6300a520
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 22 21:17:37 2011 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Enable libtool support for Windows Resource language
kusano 7d535a
kusano 7d535a
commit 58c73ddca310f757fc7ca75197bf3d7ca58ce29a
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Mon Sep 19 12:52:44 2011 -0400
kusano 7d535a
kusano 7d535a
    descriptor.c: Use size_t for minor 64 bit compliance improvement
kusano 7d535a
    
kusano 7d535a
    Fixes #121.
kusano 7d535a
kusano 7d535a
commit 27ec326a9f1bff4481702b35f39897c65a5db586
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Mon Sep 19 12:42:33 2011 -0400
kusano 7d535a
kusano 7d535a
    Darwin: Fix warnings about mismatched signed/unsigned compare
kusano 7d535a
    
kusano 7d535a
    References #121.
kusano 7d535a
kusano 7d535a
commit 59cc79f2c8e5da41fe2c761bf1e1d9cd18ddac81
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Mon Sep 19 12:38:20 2011 -0400
kusano 7d535a
kusano 7d535a
    Fix unused variable warnings when without timerfd and/or when on Darwin
kusano 7d535a
    
kusano 7d535a
    References #121.
kusano 7d535a
kusano 7d535a
commit 1cc5b4a9fb984e83681ae5c797fa6b22bc20f809
kusano 7d535a
Author: Ludovic Rousseau <ludovic.rousseau+github@gmail.com>
kusano 7d535a
Date:   Fri Sep 16 18:07:56 2011 +0200
kusano 7d535a
kusano 7d535a
    Correctly handle LIBUSB_TRANSFER_OVERFLOW in libusb_control_transfer()
kusano 7d535a
    
kusano 7d535a
    sync.c: In function `libusb_control_transfer':
kusano 7d535a
    sync.c:122: warning: enumeration value `LIBUSB_TRANSFER_OVERFLOW' not
kusano 7d535a
    handled in switch
kusano 7d535a
    
kusano 7d535a
    Fixes #120.
kusano 7d535a
kusano 7d535a
commit c55f581f43885f8576d8e2ebf4d46cd7ff3c1030
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 16:01:37 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: do not set altsetting 0 as part of libusb_release_interface()
kusano 7d535a
    
kusano 7d535a
    * pointed out by Travis Robinson and Xiaofan Chen
kusano 7d535a
    * similar to a change advised by Alan Stern for the Linux kernel:
kusano 7d535a
      http://marc.info/?m=122790204410765
kusano 7d535a
kusano 7d535a
commit efd3fae8f95ef7797ecd4b5731b198f100007d6a
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 15:45:35 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: fix communication with hubs
kusano 7d535a
    
kusano 7d535a
    * issue reported by René Haunstrup in http://marc.info/?m=130503019227814
kusano 7d535a
kusano 7d535a
commit a8d1eb7963e5811e16e8fb7e157cf3a00d888347
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 15:41:39 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: add USB 3.0 controller support
kusano 7d535a
    
kusano 7d535a
    * Windows 8, NEC/Renesas, TI, Fresco Logic, Etron, VIA, ASMedia
kusano 7d535a
      (some of which untested!)
kusano 7d535a
    * includes workaround for NEC/Renesas USB 3.0 root hubs
kusano 7d535a
kusano 7d535a
commit 48a19497bdd14325738ac9197d8cf4ebe1daa2d4
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 15:28:03 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: add static keywords and drop duplicated or unneeded code
kusano 7d535a
kusano 7d535a
commit af407286ba2fd346755297e56e365d84b98090d5
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 13:59:46 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: fix 'windows_error_str' defined but not used when not logging
kusano 7d535a
kusano 7d535a
commit abc3143ba1989a48f62246c2afb0eb4c3c5f7917
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 22 10:19:17 2011 +0200
kusano 7d535a
kusano 7d535a
    libusbi.h: Silence unused context variable warnings when not logging
kusano 7d535a
kusano 7d535a
commit 69b71c896a153a307360cf21be67b3b6e1e09a2d
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Mon Sep 19 13:06:22 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: copy DLL file regardless of ddk_build.cmd dll argument case
kusano 7d535a
kusano 7d535a
commit fdbac8971212bda3a42feeeaeb92fd8e49c7e904
kusano 7d535a
Author: Pete Batard <pete@akeo.ie>
kusano 7d535a
Date:   Sun Sep 18 20:06:45 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: Add uint32_t typedef for old MSC so that DDK can build lsusb
kusano 7d535a
kusano 7d535a
commit c471d55e909d84012f065715703dad454d1fa421
kusano 7d535a
Author: Vitali Lovich <vlovich@gmail.com>
kusano 7d535a
Date:   Fri Sep 16 08:53:25 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix port leak in darwin_clock_gettime()
kusano 7d535a
kusano 7d535a
commit 477f3917f8c123e36993f9c0ba8156ca0f16ccfa
kusano 7d535a
Author: Vitali Lovich <vlovich@gmail.com>
kusano 7d535a
Date:   Fri Sep 16 08:50:40 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: remove unnecessary run loop invalidation during libusb_exit()
kusano 7d535a
kusano 7d535a
commit f52094f37ccaff8137f5ce39867d2dba9b0f6bf9
kusano 7d535a
Author: Vitali Lovich <vlovich@gmail.com>
kusano 7d535a
Date:   Fri Sep 16 08:49:54 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix port leak during libusb_exit()
kusano 7d535a
kusano 7d535a
commit 8a2f7b5c0520e6099f2c624cd0994c60867c1628
kusano 7d535a
Author: Vitali Lovich <vlovich@gmail.com>
kusano 7d535a
Date:   Fri Sep 16 08:48:28 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix potential leak on libusb_claim_interface() error
kusano 7d535a
kusano 7d535a
commit b1ee2ef8d0b67dcc51c15742cb2decb386cffd9b
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Fri Sep 16 08:41:01 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Fix #117 transfer size 64/32 bit issue for transfer callbacks
kusano 7d535a
    
kusano 7d535a
    The transfer size is now always truncated to 32 bits.
kusano 7d535a
kusano 7d535a
commit c407a2d97b6f8715d3452257a0adac40a20178e6
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 15 17:04:43 2011 +0200
kusano 7d535a
kusano 7d535a
    Remove username from SF FRS rsync upload command
kusano 7d535a
kusano 7d535a
commit cbc2d7b2de58cf5fb02d9e5a39be0870527f8632
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 15 16:48:35 2011 +0200
kusano 7d535a
kusano 7d535a
    Support release candidate versions in configure.ac and libusb-1.0.rc
kusano 7d535a
kusano 7d535a
commit 384a528ed7adde935681313dacc5cd79e4be9ea1
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Thu Sep 15 16:32:47 2011 +0200
kusano 7d535a
kusano 7d535a
    Tidy .gitignore a little
kusano 7d535a
    
kusano 7d535a
    There's no xusb, we need a glob pattern for matching .exe files, and
kusano 7d535a
    fpusb tarballs aren't very common in the libusb source dir.
kusano 7d535a
kusano 7d535a
commit 9ad3643391a7fc6ce97aa77ffaf97d244fd9e613
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Wed Sep 14 10:53:48 2011 +0200
kusano 7d535a
kusano 7d535a
    Docs: Clarify that libusb_handle_events_timeout() tv param can't be NULL
kusano 7d535a
    
kusano 7d535a
    The example code and API doc for libusb_handle_events_timeout() could be
kusano 7d535a
    interpreted as it being OK to pass a NULL pointer for the tv argument (I
kusano 7d535a
    interpreted it like that when I first started coding for libusb).
kusano 7d535a
    
kusano 7d535a
    This patch changes the docs to make it clear that one must always supply
kusano 7d535a
    a tv struct to libusb_handle_events_timeout.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit e1c06fb070c1328a3b78c7da8b9e779d466edd97
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Sep 14 08:23:43 2011 +0200
kusano 7d535a
kusano 7d535a
    Makefile.am: Do not remove ChangeLog on make distclean, fixes #116
kusano 7d535a
    
kusano 7d535a
    [pbatard: Remove it on make maintainer-clean instead]
kusano 7d535a
kusano 7d535a
commit 0c5bf03eb829e51dcf19562fc4f745937235ea51
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Sep 14 07:02:06 2011 +0200
kusano 7d535a
kusano 7d535a
    Darwin: Reduce race likelihood between cancellation and device disconnect
kusano 7d535a
    
kusano 7d535a
    References #88. The race condition still remains, but this change
kusano 7d535a
    makes it less likely to trigger.
kusano 7d535a
kusano 7d535a
commit 3e6e257f55156c4600f3116a0befba8cee62872a
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Sep 14 04:00:33 2011 +0200
kusano 7d535a
kusano 7d535a
    Document that libusb_get_device_list() can return any libusb_error code
kusano 7d535a
    
kusano 7d535a
    Fixes #87.
kusano 7d535a
kusano 7d535a
commit 737ba04ea40f19564b445fbb489907529e75edc9
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Thu Jun 16 10:49:13 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Fix #81 URB double free race condition on device disconnect
kusano 7d535a
    
kusano 7d535a
    A submitted transfer that has just been failed by the kernel could be
kusano 7d535a
    picked up by an event handler to be cleaned up, where freeing of URB
kusano 7d535a
    memory would race with the submit function doing it's own cleanup and
kusano 7d535a
    freeing as a result of the submit failing.
kusano 7d535a
    
kusano 7d535a
    libusb_submit_transfer() always holds itransfer->lock, so the race can
kusano 7d535a
    be avoided by taking that lock also in the cleanup path and checking
kusano 7d535a
    that the URB memory has not already been freed before freeing it there.
kusano 7d535a
    
kusano 7d535a
    As http://libusb.org/ticket/81#comment:14 notes there is still another
kusano 7d535a
    possible, but unlikely, race condition between libusb_submit_transfer()
kusano 7d535a
    and an event handling thread. That will require more work to solve.
kusano 7d535a
    
kusano 7d535a
    [stuge: Add check in cleanup path that URBs have not already been freed]
kusano 7d535a
kusano 7d535a
commit 1b0f758a334d78d3832d17d694ac0c931da36050
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Sep 14 03:00:14 2011 +0200
kusano 7d535a
kusano 7d535a
    Add libusb_error_name() API function
kusano 7d535a
    
kusano 7d535a
    Until we have i18ned error messages we can at least offer easy
kusano 7d535a
    translation from numeric error code to the error code's name.
kusano 7d535a
    
kusano 7d535a
    [hansg: switch() on enum to get a compiler warning if a case is missing]
kusano 7d535a
    [hansg: Better return value when called with an unknown error code]
kusano 7d535a
    [hansg: Fix DEFAULT_VISIBILITY in definition to compile on all platforms]
kusano 7d535a
kusano 7d535a
commit e16805130a04b2642891e86b8f479e6343ca17da
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Sep 14 02:30:18 2011 +0200
kusano 7d535a
kusano 7d535a
    Add libusb_has_capability() API function
kusano 7d535a
    
kusano 7d535a
    Since it is currently not planned to change the filename of the libusb
kusano 7d535a
    library between libusb-1.0 versions at least on Windows systems it's
kusano 7d535a
    important to have a capability API.
kusano 7d535a
    
kusano 7d535a
    Currently there exists only one capability; LIBUSB_CAP_HAS_CAPABILITY,
kusano 7d535a
    which tests support for the libusb_has_capability() API.
kusano 7d535a
kusano 7d535a
commit 2dc2fa2a56408e515d25359323b4ea2f1bbec14a
kusano 7d535a
Author: Sebastian Pipping <sebastian@pipping.org>
kusano 7d535a
Date:   Tue Sep 13 20:38:26 2011 +0200
kusano 7d535a
kusano 7d535a
    Fix typos in introductory documentation
kusano 7d535a
kusano 7d535a
commit 0a828082aeedc6d19b6de4e3b10cc9762352fa7f
kusano 7d535a
Author: Pekka Nikander <pekka.nikander@senseg.com>
kusano 7d535a
Date:   Tue Sep 13 18:57:43 2011 +0200
kusano 7d535a
kusano 7d535a
    Linux: Add libusb_open() debug and error messages with the device path
kusano 7d535a
    
kusano 7d535a
    Fixes #109.
kusano 7d535a
kusano 7d535a
commit 6583372125d73543fe0db9fdc59850b9c6aa50d9
kusano 7d535a
Author: Pekka Nikander <pekka.nikander@senseg.com>
kusano 7d535a
Date:   Tue Sep 13 18:52:36 2011 +0200
kusano 7d535a
kusano 7d535a
    Add debug message with libusb_open() error code
kusano 7d535a
    
kusano 7d535a
    References #109.
kusano 7d535a
kusano 7d535a
commit f797ecb3b4e653594f8ebc0c9d9e2ca579062779
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Mon Sep 12 18:11:20 2011 +0200
kusano 7d535a
kusano 7d535a
    Document libusb_handle_events_completed() and _timeout_completed()
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
    [stuge: Note that the old racy functions should be avoided by new code]
kusano 7d535a
kusano 7d535a
commit 6696512aade99bb15d6792af90ae329af270eba6
kusano 7d535a
Author: Graeme Gill <graeme2@argyllcms.com>
kusano 7d535a
Date:   Sat Sep 10 15:47:05 2011 +0200
kusano 7d535a
kusano 7d535a
    Fix #56 race condition causing delayed completion of sync transfers
kusano 7d535a
    
kusano 7d535a
    The sync API had a race where it would check a condition to know if it
kusano 7d535a
    needed to call a libusb_handle_events() function. However, the check
kusano 7d535a
    was done outside of the lock that is held while the condition is set,
kusano 7d535a
    so another thread could completely serve whatever was needed to make
kusano 7d535a
    the condition true between it being checked and the event handler being
kusano 7d535a
    called. This situation would be detected after a libusb-internal timeout
kusano 7d535a
    of 60 seconds, after which the transfer would be completed without
kusano 7d535a
    error, but with significant delay.
kusano 7d535a
    
kusano 7d535a
    Original patch at http://marc.info/?l=libusb-devel&m=127252114815709
kusano 7d535a
    
kusano 7d535a
    Changes by Hans de Goede:
kusano 7d535a
    - Renamed the "race-proof" functions from libusb_handle_events*_check()
kusano 7d535a
      to libusb_handle_events*_completed()
kusano 7d535a
    - Drop r = 0 setting in libusb_handle_events_timeout_completed()
kusano 7d535a
      (to make both completed checking cases identical flow wise)
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
    [stuge: Simplify libusb_handle_events_timeout() change with a goto]
kusano 7d535a
    [pbatard: Fix _handle_events_timeout() and _completed() definitions]
kusano 7d535a
kusano 7d535a
commit cfee5446cdb2974c1e90c7c379a365c495975aef
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Fri Aug 26 23:06:40 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Use a condition to signal async thread ready in libusb_init()
kusano 7d535a
kusano 7d535a
commit d1bd234f7e1b1ff4168b8f605e2038e87a0e361f
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Thu Jul 21 22:34:12 2011 -0600
kusano 7d535a
kusano 7d535a
    Fix #64 use of reserved identifiers throughout libusb
kusano 7d535a
kusano 7d535a
commit a97762a8a121de1ad3deb9e861088b69bb6a155b
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Thu Jul 21 22:31:09 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix libusb_get_device_list() and libusb_claim_interface() leaks
kusano 7d535a
kusano 7d535a
commit 8723df191fcedc6161732fd06d12df392c6dea3f
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Thu Jul 21 22:28:47 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: use kIOMasterPortDefault instead of creating a master port
kusano 7d535a
kusano 7d535a
commit 0eb7e43759003610d1afe6148aa6ff4f5859ccb0
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Jul 27 03:15:03 2011 +0200
kusano 7d535a
kusano 7d535a
    Allow devices with zero configurations to be discovered
kusano 7d535a
    
kusano 7d535a
    At least in Linux, wireless USB devices have zero configurations until
kusano 7d535a
    they have been authorized. This device state can be set for any USB
kusano 7d535a
    device using:
kusano 7d535a
    
kusano 7d535a
    echo 0 > /sys/bus/usb/devices/?-?/authorized
kusano 7d535a
    
kusano 7d535a
    An unauthorized device would previously make usbi_sanitize_device()
kusano 7d535a
    return LIBUSB_ERROR_IO, although there really was no I/O error.
kusano 7d535a
    
kusano 7d535a
    Reported-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
kusano 7d535a
kusano 7d535a
commit 5010c3e80423d13acee6eeb4af974e8a9bcdd006
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Jul 27 06:17:48 2011 +0200
kusano 7d535a
kusano 7d535a
    Linux: Continue enumeration even if one device returns an error
kusano 7d535a
kusano 7d535a
commit 2bf8848fb5c85ace0f445c0820a0c173cf76bf43
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Fri Jun 17 10:19:00 2011 +0200
kusano 7d535a
kusano 7d535a
    Linux: Handle single- and two-digit kernel versions like 3.0 and 4
kusano 7d535a
    
kusano 7d535a
    The code has been tested with various version strings.
kusano 7d535a
    
kusano 7d535a
    [stuge: Remove bogus string length check and optimize for newer kernels]
kusano 7d535a
kusano 7d535a
commit 0288bf24f91eca9f433ebad91a7eb6c0e3e29133
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Thu Mar 3 18:35:35 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Provide libusb_get_device_speed() data
kusano 7d535a
    
kusano 7d535a
    * use (currently superspeed unaware) USB_NODE_CONNECTION_INFORMATION_EX
kusano 7d535a
    
kusano 7d535a
    Fixes #45.
kusano 7d535a
    
kusano 7d535a
    [stuge: Explicitly convert OS device speeds to libusb device speeds]
kusano 7d535a
    [pbatard: Add breaks overlooked when adding explicit conversion]
kusano 7d535a
kusano 7d535a
commit 382b7deaadd7e2f1d08c9e921e460bb3abf130b2
kusano 7d535a
Author: Trygve Laugstøl <trygvis@inamo.no>
kusano 7d535a
Date:   Tue Jul 19 23:20:40 2011 +0200
kusano 7d535a
kusano 7d535a
    Darwin: Provide libusb_get_device_speed() data
kusano 7d535a
    
kusano 7d535a
    References #45.
kusano 7d535a
kusano 7d535a
commit 44d6319f57e7e2c77347da228ed032e62716b438
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Thu Feb 17 15:06:40 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Provide libusb_get_device_speed() data from sysfs
kusano 7d535a
    
kusano 7d535a
    References #45.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit c8c40bcbd22abca922ff31c4ed6a75fd7af78b59
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Thu Feb 17 13:17:55 2011 +0100
kusano 7d535a
kusano 7d535a
    Add new API function libusb_get_device_speed()
kusano 7d535a
    
kusano 7d535a
    Reworked version of my earlier patch, largely modelled after (if not
kusano 7d535a
    copy and pasted from) Trygve Laugstøl's <trygvis@inamo.no> similar
kusano 7d535a
    commit 5a6541e0d80fb1f21e2b960bc2337a612f9d74fb in
kusano 7d535a
    git://git.libusb.org/libusb-trygvis.git
kusano 7d535a
    http://git.libusb.org/libusb-trygvis.git
kusano 7d535a
    http://git.libusb.org/?p=libusb-trygvis.git;a=commitdiff;h=5a6541e0d
kusano 7d535a
    
kusano 7d535a
    This patch does not add any OS specific code. The supporting code in
kusano 7d535a
    each backend follows in separate patches. References #45.
kusano 7d535a
    
kusano 7d535a
    Signed-off-By: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 0db8cba7f2c372f0127c7df9724e5a35e93f2069
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Sun Mar 20 00:25:44 2011 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Improve device enumeration performance
kusano 7d535a
    
kusano 7d535a
    The device location is saved, and later used whenever iterating over
kusano 7d535a
    devices. Fixes #111 and #112.
kusano 7d535a
    
kusano 7d535a
    [stuge: Formatting fixes and split out libusb_get_device_speed() change]
kusano 7d535a
    [stuge: Combine with patch that uses the saved device location]
kusano 7d535a
kusano 7d535a
commit 511ec4301deb516691e39e3df5b90fe28cb2bb0f
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Thu Feb 17 12:49:36 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Use __read_sysfs_attr() to get busnum and devaddr
kusano 7d535a
    
kusano 7d535a
    Remove code duplication.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit e05bbc59ca7b896e2b825bde59bf883ac8c09f5c
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Thu Feb 17 12:45:10 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Add __read_sysfs_attr() helper function
kusano 7d535a
    
kusano 7d535a
    On Linux we often need to read (postive) integers from sysfs. This patch
kusano 7d535a
    adds a helper function for this. This is a preparation patch for adding
kusano 7d535a
    a libusb_get_device_speed() function to libusb.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 20e26dda0f86dafa3436b152e090b5f3410c8ce4
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Tue Feb 8 16:37:18 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Stop kernel from re-attaching in-kernel driver after reset
kusano 7d535a
    
kusano 7d535a
    When an interface is bound to the usbfs driver (iow claimed), the
kusano 7d535a
    kernel will unbind it, and then after the reset do a device_attach
kusano 7d535a
    on the interface, which will bind the default in kernel driver to
kusano 7d535a
    the interface.
kusano 7d535a
    
kusano 7d535a
    So if an app has detached the in kernel driver, and claimed the
kusano 7d535a
    interface and then does a libusb_reset_device. Things end up with
kusano 7d535a
    the interface no longer being bound to the usbfs driver (so no longer
kusano 7d535a
    claimed) and instead it is bound to the in kernel driver (iow the in
kusano 7d535a
    kernel driver is re-attached).
kusano 7d535a
    
kusano 7d535a
    We can stop this from happening by releasing all claimed interfaces
kusano 7d535a
    before the reset, as the kernel will not do the device attach after
kusano 7d535a
    reset, if no driver was bound to the interface before the reset.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit 4e294dc9848aab86b31d2fff228cf97e7eadf913
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Thu Feb 17 12:35:46 2011 +0100
kusano 7d535a
kusano 7d535a
    Core: Use USB_MAXINTERFACES rather then sizeof(claimed_interfaces)
kusano 7d535a
    
kusano 7d535a
    claimed_interfaces is a long and thus its size differs on 32
kusano 7d535a
    versus 64 bits, this patch uses USB_MAXINTERFACES instead of
kusano 7d535a
    sizeof(claimed_interfaces) on interface number range checks
kusano 7d535a
    for consistent behavior independent of the arch.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
kusano 7d535a
commit a68f956dd4c29d6ed799f04f07a3346317843999
kusano 7d535a
Author: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
Date:   Wed Feb 9 12:40:35 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Fix warnings seen when compiling with gcc-4.6
kusano 7d535a
    
kusano 7d535a
    Compiling with gcc-4.6 results in the following warnings:
kusano 7d535a
    os/linux_usbfs.c: In function 'op_get_configuration':
kusano 7d535a
    os/linux_usbfs.c:1144:6: warning: variable 'r' set but not used ...
kusano 7d535a
    os/linux_usbfs.c: In function 'op_handle_events':
kusano 7d535a
    os/linux_usbfs.c:2091:40: warning: 'status' may be used uninitialized ...
kusano 7d535a
    os/linux_usbfs.c:2044:6: note: 'status' was declared here
kusano 7d535a
    dpfp.c: In function 'save_to_file':
kusano 7d535a
    dpfp.c:228:9: warning: variable 'ignore' set but not used ...
kusano 7d535a
    dpfp_threaded.c: In function 'save_to_file':
kusano 7d535a
    dpfp_threaded.c:257:9: warning: variable 'ignore' set but not used ...
kusano 7d535a
    
kusano 7d535a
    This patch fixes these. (The second comes from handle_control_completion()
kusano 7d535a
    which gcc seems to inline into op_handle_events().)
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kusano 7d535a
    [stuge: Add fixes for dpfp examples and update source references]
kusano 7d535a
kusano 7d535a
commit 209b5ccd827039b933b730e3f29abd0d72d3c6c6
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Tue Jun 14 08:51:57 2011 +0200
kusano 7d535a
kusano 7d535a
    Darwin: Fix #108 crash when a device is unplugged
kusano 7d535a
kusano 7d535a
commit d3543e9140536a9751811b44f8496489be1e6bb7
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Jun 13 22:58:23 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb.h: Add missing LIBUSB_CLASS_ codes currently defined by usb.org
kusano 7d535a
    
kusano 7d535a
    LIBUSB_CLASS_PHYSICAL
kusano 7d535a
    LIBUSB_CLASS_SMART_CARD
kusano 7d535a
    LIBUSB_CLASS_CONTENT_SECURITY
kusano 7d535a
    LIBUSB_CLASS_VIDEO
kusano 7d535a
    LIBUSB_CLASS_PERSONAL_HEALTHCARE
kusano 7d535a
    LIBUSB_CLASS_DIAGNOSTIC_DEVICE
kusano 7d535a
    
kusano 7d535a
    Per http://www.usb.org/developers/defined_class
kusano 7d535a
kusano 7d535a
commit 08bc7ffb6a3b65afc6795cd048a890ee8da7d954
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Jun 13 22:53:40 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb.h: Add LIBUSB_CLASS_IMAGE in addition to LIBUSB_CLASS_PTP
kusano 7d535a
    
kusano 7d535a
    The old LIBUSB_CLASS_PTP name is kept for compatibility. Fixes #106.
kusano 7d535a
kusano 7d535a
commit 3d7938d85a33cd98553c0c898a8dd0490826b077
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Jun 13 22:52:48 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb.h: Fix LIBUSB_CLASS_PRINTER description typo
kusano 7d535a
    
kusano 7d535a
    References #106.
kusano 7d535a
kusano 7d535a
commit 5d0526af1a922afab02cdbdf4bb7078702759571
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Feb 11 11:28:04 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Fix #100 warning cast to pointer from integer of different size
kusano 7d535a
kusano 7d535a
commit bb8854ff5680136e29b57505300f131c2646f258
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Mon Jun 13 22:26:43 2011 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Fix #97 clang warning about -fgnu89-inline
kusano 7d535a
    
kusano 7d535a
    Remove the test that sets the flag since GNU89 inline semantics are not
kusano 7d535a
    required by libusb.
kusano 7d535a
    
kusano 7d535a
    [stuge: Also remove reference to the test result]
kusano 7d535a
kusano 7d535a
commit cb3c2e488f298b78027c9d5fc0bec0e5ba27d761
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed Jun 15 01:38:58 2011 +0200
kusano 7d535a
kusano 7d535a
    Windows: Make cancel_io() in poll_windows.c static
kusano 7d535a
    
kusano 7d535a
    References #97.
kusano 7d535a
kusano 7d535a
commit 6635dbb4acb5ee556a020e431b15c954edfcbd29
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Jun 13 22:21:02 2011 +0200
kusano 7d535a
kusano 7d535a
    Windows: Make upperize() in windows_usb.h static
kusano 7d535a
    
kusano 7d535a
    References #97.
kusano 7d535a
kusano 7d535a
commit 9479ce9dae3d0dbe2ce693bd02ccceb018a75fe9
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Mar 16 17:33:57 2011 -0700
kusano 7d535a
kusano 7d535a
    descriptor.c: Fix buffer read overflow caught by valgrind
kusano 7d535a
    
kusano 7d535a
    In parse_interface() an unexpected descriptor would be parsed without
kusano 7d535a
    validating the descriptor's length.  It is possible for size to be 0 at
kusano 7d535a
    this point, which means that the parsing would read past the end of the
kusano 7d535a
    source buffer.  Fix #83 by checking the length of the remaining buffer
kusano 7d535a
    before parsing.
kusano 7d535a
kusano 7d535a
commit c775c2f43037cd235b65410583179195e25f9c4a
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Mar 16 19:51:40 2011 -0700
kusano 7d535a
kusano 7d535a
    Clean up in-flight transfers and device handle when closing a device
kusano 7d535a
    
kusano 7d535a
    Any in-flight transfers should properly invalidate their references
kusano 7d535a
    to device handles that are being closed.  Additionally, they should be
kusano 7d535a
    removed from the transfer-in-flight list.  This is done with the events
kusano 7d535a
    lock held to protect against another thread processing the same transfer.
kusano 7d535a
    The events lock is initialized as a recursive mutex, because the device
kusano 7d535a
    close code might itself be called while an event is being handled.
kusano 7d535a
    Fixes #82.
kusano 7d535a
    
kusano 7d535a
    [stuge: Trivial rework to reduce indenting]
kusano 7d535a
kusano 7d535a
commit 74282582cc879f091ad1d847411337bc3fa78a2b
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Mar 16 19:43:30 2011 -0700
kusano 7d535a
kusano 7d535a
    Add recursive mutexes to threading abstraction
kusano 7d535a
    
kusano 7d535a
    This is necessary for the device close path which needs to attain the
kusano 7d535a
    events lock, but which might itself be called while handling an event.
kusano 7d535a
    The events lock is necessary to properly clean up transfers which might
kusano 7d535a
    still be pointing to the device. References #82.
kusano 7d535a
    
kusano 7d535a
    [stuge: Move usbi_mutex_init_recursive() into threads_posix.c]
kusano 7d535a
    [stuge: Must also #define _XOPEN_SOURCE 500 to be able to build]
kusano 7d535a
    [pbatard: Un-inline usbi_mutex_init_recursive() to make Cygwin happy]
kusano 7d535a
kusano 7d535a
commit 8f1bc0659136faf312dabe8fe67380a798299d33
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Mar 16 19:48:35 2011 -0700
kusano 7d535a
kusano 7d535a
    Add USBI_TRANSFER_CANCELLING and _DEVICE_DISAPPEARED status flags
kusano 7d535a
    
kusano 7d535a
    The flags are used to indicate if a cancellation has started, and if
kusano 7d535a
    a cancellation has failed because the device is no longer available.
kusano 7d535a
    References #82.
kusano 7d535a
kusano 7d535a
commit 87ba8a9ead4fd9e81ae3c5a894f698779de1f2c2
kusano 7d535a
Author: Vitali Lovich <vlovich@aliph.com>
kusano 7d535a
Date:   Wed Mar 16 19:50:04 2011 -0700
kusano 7d535a
kusano 7d535a
    Linux: Detect and report that device has gone away while discarding URBs
kusano 7d535a
    
kusano 7d535a
    Return LIBUSB_ERROR_NO_DEVICE if the device is no longer available
kusano 7d535a
    (ENODEV) to discard the urbs. References #82.
kusano 7d535a
kusano 7d535a
commit 2c85c363cddd72b9ab425f05e2ee03e0b1df24f1
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Jun 6 02:46:46 2011 +0200
kusano 7d535a
kusano 7d535a
    libusbi.h: Add comma after last value in enum usbi_transfer_flags
kusano 7d535a
kusano 7d535a
commit 5d7be3e1337f2444097504931ac0f2f0997b2b05
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Jun 5 23:28:07 2011 +0200
kusano 7d535a
kusano 7d535a
    threads_posix.h: Whitespace fix
kusano 7d535a
kusano 7d535a
commit 18db4813e844fc6929680afcc9b793abcb06876a
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Jun 5 23:21:08 2011 +0200
kusano 7d535a
kusano 7d535a
    libusb/Makefile.am: Correct threading files in libusb_1_0_la_SOURCES
kusano 7d535a
kusano 7d535a
commit 5f30c81f66e8dd61f8eae16de548697708f9bd18
kusano 7d535a
Author: Alan Ott <alan@signal11.us>
kusano 7d535a
Date:   Thu Jul 21 16:37:48 2011 +0200
kusano 7d535a
kusano 7d535a
    Linux: Fix #70 race condition in sysfs_get_device_list()
kusano 7d535a
    
kusano 7d535a
    Change the way libusb chooses between using sysfs and usbfs for information
kusano 7d535a
    about the attached devies.  Using the old method, a race condition could
kusano 7d535a
    occur if a device was unplugged just before (or during) the call to
kusano 7d535a
    libusb_get_device_list(), corrupting the internal sysfs_can_relate_devices
kusano 7d535a
    and sysfs_has_descriptors variables and preventing libusb_get_device_list()
kusano 7d535a
    from working in future calls.
kusano 7d535a
    
kusano 7d535a
    The old method was based on the assumption that if certain sysfs files
kusano 7d535a
    (eg: busnum) could not be opened, that indicated an inadequacy of sysfs
kusano 7d535a
    (ie: the running kernel's sysfs version did not contain those files),
kusano 7d535a
    when in reality those files couldn't be opened because the device had
kusano 7d535a
    been unplugged.
kusano 7d535a
    
kusano 7d535a
    The new method checks the adequacy of sysfs during libusb_init()
kusano 7d535a
    (op_init()) and if a sysfs file cannot be opened, it is now assumed that
kusano 7d535a
    it is because the device has been unplugged, not because sysfs is
kusano 7d535a
    inadequate.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Alan Ott <alan@signal11.us>
kusano 7d535a
    [stuge: Include closedir() bugfix posted in ticket by Arne Laansoo]
kusano 7d535a
    [stuge: Remove dead code in sysfs_scan_device() found by Hans de Goede]
kusano 7d535a
kusano 7d535a
commit 40327cd134718475f6cec8935b856d4fdff2099c
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Thu Feb 10 17:11:29 2011 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Fix #63 error when apps use Objective-C garbage collection
kusano 7d535a
kusano 7d535a
commit 3ba2fae24886fec89410e5f2295f65363edcc2df
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Feb 5 11:50:34 2010 -0500
kusano 7d535a
kusano 7d535a
    Darwin: Fix #28 clang analyzer warning about unbalanced retain/release
kusano 7d535a
kusano 7d535a
commit b67120f047f7eafa15c88c66fa61cef40805ec1f
kusano 7d535a
Author: Sean McBride <sean@rogue-research.com>
kusano 7d535a
Date:   Fri Feb 5 11:50:34 2010 -0500
kusano 7d535a
kusano 7d535a
    io.c: Fix clang analyzer warning about unused variable
kusano 7d535a
    
kusano 7d535a
    References #28.
kusano 7d535a
kusano 7d535a
commit 51af85d03a098d7d99ea544e8e9535b5476bab33
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Tue May 10 10:44:18 2011 +0200
kusano 7d535a
kusano 7d535a
    .gitignore: Add m4 subdirectory created by libtool
kusano 7d535a
kusano 7d535a
commit c569e5b3b314538f45d0b3b6f14ce3dbdfee1be9
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Mon Nov 15 14:45:50 2010 +0100
kusano 7d535a
kusano 7d535a
    Linux: Do not include useless pthread.h
kusano 7d535a
    
kusano 7d535a
    The code does not use threads so no need to #include <pthread.h>
kusano 7d535a
    Fixes #74.
kusano 7d535a
kusano 7d535a
commit 82af9f9d440ef49015652c699157cf62020f097a
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:41:05 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: minor code improvements
kusano 7d535a
    
kusano 7d535a
    * mostly warnings from VS2010's Intellisense
kusano 7d535a
kusano 7d535a
commit 7e636dbe06001b9ac68e452a2fdc05e33fbb4e3a
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:40:39 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: prevent set_configuration request from being sent using WinUSB
kusano 7d535a
    
kusano 7d535a
    * multiple WinUSB set configuration requests can stall a device and
kusano 7d535a
      WinUSB does not support setting of alt configuration in the first place
kusano 7d535a
    * issue reported and investigated by Xiaofan Chen
kusano 7d535a
kusano 7d535a
commit 578c50c99646e5ebbcfbea653524a519b843ebcd
kusano 7d535a
Author: Graeme Gill <graeme@argyllcms.com>
kusano 7d535a
Date:   Tue Mar 8 17:39:16 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: fixed default WinUSB timeout and ineffective policy settings
kusano 7d535a
    
kusano 7d535a
    * default WinUSB timeout was 5 seconds, which may be to small.
kusano 7d535a
      PIPE_TRANSFER_TIMEOUT policy is now set to infinite for all EPs.
kusano 7d535a
    * other WinUSB policy settings were called before the endpoints
kusano 7d535a
      had been set. This is now fixed.
kusano 7d535a
kusano 7d535a
commit 25fa63ea1cfe02e784cb62d3b869fd15e62b5b6e
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:37:40 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Don't leak pipe fds
kusano 7d535a
    
kusano 7d535a
    use _open() and _close() rather than _open_osfhandle() and CloseHandle()
kusano 7d535a
    
kusano 7d535a
    * use of CloseHandle() prevented the pipe fds from being
kusano 7d535a
      relinquished on libusb_exit()
kusano 7d535a
    * leaked fds could lead to the OS running out of new fds
kusano 7d535a
      and LIBUSB_ERROR_NO_MEM being returned as a result
kusano 7d535a
    * using _open() avoids _open_osfhandle() redef for cygwin
kusano 7d535a
    * issue reported by Stephano Antonelli
kusano 7d535a
kusano 7d535a
commit 3ccd9bddec316ee4b867959fd7f616eb4d410997
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Tue May 10 10:05:29 2011 +0200
kusano 7d535a
kusano 7d535a
    Windows: enumeration overhaul
kusano 7d535a
    
kusano 7d535a
    * uses multiple passes in a single call
kusano 7d535a
    * uses a hash table, in anticipation for hotplug
kusano 7d535a
    * adds a (dummy) HUB interface for harmonization
kusano 7d535a
    * adds calloc on device struct creation in core
kusano 7d535a
      (to detect and avoid unnecessary double initialization)
kusano 7d535a
kusano 7d535a
commit bb108cbe39802785d10fe025b74ca5ee19734151
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue May 10 00:56:18 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: MS project files part 4 - MSVC6 project files
kusano 7d535a
    
kusano 7d535a
    Fixes #57 and #1.
kusano 7d535a
kusano 7d535a
commit 78896ae99b9c2d5672fc93c5bad0f5e8e75c53ea
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue May 10 00:53:09 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: MS project files part 3 - VS2005 project files
kusano 7d535a
    
kusano 7d535a
    References #57.
kusano 7d535a
kusano 7d535a
commit 9e5f4277e379a82f5d32e81db1bd0ffaa6637596
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue May 10 00:38:49 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: MS project files part 2 - WDK project files
kusano 7d535a
    
kusano 7d535a
    References #57.
kusano 7d535a
kusano 7d535a
commit c1e75431418cdfc10ec963d823fce479cdae6840
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue May 10 00:38:12 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: MS project files part 1 - support files & preliminaries
kusano 7d535a
    
kusano 7d535a
    * adds the MSVC support files used by MSVC6, VS2005 and WDK
kusano 7d535a
    * also adds missing defines required by MS compilers in libusb.h
kusano 7d535a
    * also anticipatory sets .gitattributes for CRLF handling
kusano 7d535a
    * also adds manually maintained .def file for import lib generation
kusano 7d535a
    
kusano 7d535a
    References #57.
kusano 7d535a
kusano 7d535a
commit 85a14f43e0ce27cd47f84fdaeacbaa81cebdb886
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon May 9 08:12:24 2011 +0200
kusano 7d535a
kusano 7d535a
    Move library version number from configure.ac to libusb/version.h
kusano 7d535a
    
kusano 7d535a
    This is neccessary to support native MS builds. The Windows resource
kusano 7d535a
    file libusb/libusb-1.0.rc must include the release version, which was
kusano 7d535a
    previously only available after configure had run and had substituted
kusano 7d535a
    the numbers into a generated libusb/libusb-1.0.rc file.
kusano 7d535a
    
kusano 7d535a
    The version atoms are now stored as CPP style #defines in libusb/version.h
kusano 7d535a
    so that the .rc no longer needs to be generated but can simply include the
kusano 7d535a
    header file and access the version information directly.
kusano 7d535a
    
kusano 7d535a
    The m4 macro LU_DEFINE_VERSION_ATOM() was added to configure.ac to get
kusano 7d535a
    version atoms from libusb/version.h for use in AC_INIT(). The macro
kusano 7d535a
    handles C and C++ style comments in version.h, but can easily be made
kusano 7d535a
    to fail by obscuring the file. Please don't do that.
kusano 7d535a
    
kusano 7d535a
    Tested with MinGW using autoconf, and manual compile of libusb-1.0.rc
kusano 7d535a
    using RC.EXE Version 5.2.3690.0 from Visual C++ 2005 Express Edition.
kusano 7d535a
kusano 7d535a
commit 3481f52b014110f6c291e5a15e79ba774dcdfacf
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Tue May 10 08:36:32 2011 +0200
kusano 7d535a
kusano 7d535a
    Windows: Debug builds create the same .dll file name as non-debug
kusano 7d535a
    
kusano 7d535a
    Thanks to Pete for pointing this out!
kusano 7d535a
kusano 7d535a
commit 9da8cf5c9ed9bd381a77d8170fc0556edbcce4dc
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:18:48 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: explicit use of ANSI or WideChar calls
kusano 7d535a
    
kusano 7d535a
    * This is in anticipation of adding MSVC project files
kusano 7d535a
      that use Unicode rather than MBCS
kusano 7d535a
kusano 7d535a
commit ae675c1f49dc00b695fce7296903f60998cc28ed
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:16:23 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Remove SetupAPI, AdvAPI32 and OLE32 link-time dependencies
kusano 7d535a
    
kusano 7d535a
    * this ensures that libusb dependent applications only need
kusano 7d535a
      to explicitly link against libusb on Windows
kusano 7d535a
    
kusano 7d535a
    The run-time dependency on Cfgmgr32.dll, OLE32.dll and SetupAPI.dll remains.
kusano 7d535a
kusano 7d535a
commit 356e312511e4892977636da52ec497ad2c716032
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Mar 8 17:12:33 2011 +0000
kusano 7d535a
kusano 7d535a
    Add .gitattributes to avoid Windows line ending issues with autocrlf
kusano 7d535a
kusano 7d535a
commit 61c120f025f3dee04eeb88159d7c0403a8bf91fe
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 27 09:37:54 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: Touch up FileDescription and ProductName resource strings
kusano 7d535a
kusano 7d535a
commit 99b4ddcd893834a4be8b5884037b650e57ba0ba2
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 27 07:20:40 2011 +0100
kusano 7d535a
kusano 7d535a
    Windows: Remove emulated direct device access via HID API
kusano 7d535a
    
kusano 7d535a
    Either use a library such as HIDAPI to communicate with HID class
kusano 7d535a
    devices, or replace the kernel driver for the device with one that
kusano 7d535a
    offers support for the complete libusb API.
kusano 7d535a
kusano 7d535a
commit 4be84ab49c838d534d3a1b8a64ffa89774984ee7
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Feb 27 06:59:15 2011 +0100
kusano 7d535a
kusano 7d535a
    Revert libusb_strerror() until we have i18n and l10n
kusano 7d535a
kusano 7d535a
commit 0e177f22fcc69d9aab6fb410e85f3413f478c94c
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed Jan 19 14:00:12 2011 +0000
kusano 7d535a
kusano 7d535a
    dpfp_threaded: return instead of pthread_exit() to avoid Cygwin warning
kusano 7d535a
kusano 7d535a
commit e65878f21b0a0bb96debcb292dc03ce3c4ebb701
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed Jan 19 13:52:08 2011 +0000
kusano 7d535a
kusano 7d535a
    Windows: Rename various variables named "index" to avoid shadow warnings
kusano 7d535a
kusano 7d535a
commit 019bf73bb2677dc7720bc8280527316adcbaa506
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:50:53 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: Fix logic in enumeration of driver name and port number
kusano 7d535a
kusano 7d535a
commit 24494ed5db27737fc607fc35dda722521c9fe4d4
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:50:13 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: Allow claiming any interface in composite device using WinUSB
kusano 7d535a
    
kusano 7d535a
    Issue reported by Benjamin Dobell, see #48. The call to
kusano 7d535a
    WinUsb_QueryInterfaceSettings() is removed since it doesn't work
kusano 7d535a
    on any other interface but the first (a WinUSB limitation).
kusano 7d535a
    
kusano 7d535a
    This allows the use of WinUSB.sys in lieu of the usbccgp.sys
kusano 7d535a
    "USB Generic Parent" default driver for composite devices.
kusano 7d535a
kusano 7d535a
commit 9c8e6545f2fbb171f81a9451eaf2d09e1fbc13b3
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:47:15 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: Allow arbitrary bConfigurationValue in config descriptors
kusano 7d535a
    
kusano 7d535a
    Unlike bInterfaceNumber, bConfigurationValue does not have to be
kusano 7d535a
    either sequential or contiguous. The bConfigurationValue is now
kusano 7d535a
    included in debug output. Fixes #48 reported by Benjamin Dobell.
kusano 7d535a
kusano 7d535a
commit dcd002974e511879320233fd5b0600e06bdc5620
kusano 7d535a
Author: Thomas Röfer <Thomas.Roefer@dfki.de>
kusano 7d535a
Date:   Fri Nov 19 22:03:11 2010 +0100
kusano 7d535a
kusano 7d535a
    Darwin: Schedule isochronous transfers further in the future
kusano 7d535a
    
kusano 7d535a
    This is required to make OpenKinect transfer data at 30 fps. This
kusano 7d535a
    change was originally made by Theo Watson, and Thomas improved on it.
kusano 7d535a
    The commit came via OpenKinect into libusb thanks to Kyle Machulis and
kusano 7d535a
    Hector Martin. Fixes #66.
kusano 7d535a
kusano 7d535a
commit e83fad33dbaf9f37811da6d4cd9d3be554817944
kusano 7d535a
Author: Thomas Röfer <Thomas.Roefer@dfki.de>
kusano 7d535a
Date:   Fri Nov 19 22:03:11 2010 +0100
kusano 7d535a
kusano 7d535a
    Darwin: Fix #65 memory leak in submit_iso_transfer()
kusano 7d535a
    
kusano 7d535a
    This was also independently fixed by Hoi-Ho Chan, but Thomas caught
kusano 7d535a
    an additional problem with his fix.
kusano 7d535a
    
kusano 7d535a
    This commit came via OpenKinect into libusb thanks to Kyle Machulis
kusano 7d535a
    and Hector Martin.
kusano 7d535a
kusano 7d535a
commit 1a2d21fe42ad5a157651c787e2f500fc162c325b
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Feb 26 04:21:05 2011 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Refactor Windows backend settings into one occurence
kusano 7d535a
    
kusano 7d535a
    The Windows backend is used both with MinGW and Cygwin, and since most
kusano 7d535a
    settings are identical they can be set in one place.
kusano 7d535a
kusano 7d535a
commit 717f47621d18de16b87e237f3740299f43e4ca1c
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Nov 15 19:58:51 2010 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Rename AM_LDFLAGS to LTLDFLAGS and actually use them
kusano 7d535a
    
kusano 7d535a
    The new variable name tries to clarify that libtool is being used.
kusano 7d535a
    Linker flags must thus always be specified with -Wl.
kusano 7d535a
    
kusano 7d535a
    Factor out the libtool flag -no-undefined from host specific cases.
kusano 7d535a
    The flag is required to build a Windows DLL, but is correct also for
kusano 7d535a
    the other supported systems.
kusano 7d535a
    
kusano 7d535a
    Also, start actually using LTLDFLAGS in libusb/Makefile.am, so that
kusano 7d535a
    libtool will see the options set by configure.
kusano 7d535a
kusano 7d535a
commit 3cbe5736469c1c52049752c137ae11387e9b079d
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Nov 21 23:38:46 2010 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Clean up PC_LIBS_PRIVATE and AM_LDFLAGS
kusano 7d535a
    
kusano 7d535a
    Move linker options for when linking the library itself from
kusano 7d535a
    PC_LIBS_PRIVATE into AM_LDFLAGS. PC_LIBS_PRIVATE should only
kusano 7d535a
    contain flags needed to link applications statically against libusb.
kusano 7d535a
    Fixes #72.
kusano 7d535a
kusano 7d535a
commit ef39d1510580b9fcbacf13443fa7a4e553a9a88e
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Feb 25 02:33:29 2011 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Call AC_CONFIG_FILES() for each output file
kusano 7d535a
    
kusano 7d535a
    This avoids a problem with Windows line endings.
kusano 7d535a
kusano 7d535a
commit 6e52ea067711e6e7e1b2882757fb61b11b6f8feb
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Nov 21 23:37:27 2010 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Whitespace changes and trivial reordering
kusano 7d535a
kusano 7d535a
commit 44b85dabc3f4efe0918a598f981675aa3765cc26
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Nov 21 23:10:35 2010 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Quote AC_COMPILE_IFELSE() input
kusano 7d535a
kusano 7d535a
commit 19d5882c398e49a453ff78494db23b7f4d13c37c
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Nov 21 23:09:02 2010 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Define booleans to 1 when set, instead of an empty string
kusano 7d535a
    
kusano 7d535a
    This makes the generated config.h look a lot nicer.
kusano 7d535a
kusano 7d535a
commit c24649d796c8b5c97af79a41856422def2e593bc
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Oct 30 22:28:59 2010 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Clean up redundancy and fix LIBS on Linux
kusano 7d535a
    
kusano 7d535a
    LIBS, AM_LDFLAGS, OS_ conditionals and THREADS_POSIX had a bit of
kusano 7d535a
    redundancy throughout the file, and on Linux LIBS ended up missing
kusano 7d535a
    the -pthread flag.
kusano 7d535a
kusano 7d535a
commit 0bd4a4dd89ff64b99ab55bfc0c5782502c10c676
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Feb 26 04:08:38 2011 +0100
kusano 7d535a
kusano 7d535a
    configure.ac: Touch up Darwin and Cygwin OS messages
kusano 7d535a
kusano 7d535a
commit 16cf11a1213272afd616598fa3aba0941e66ec3c
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Oct 30 22:13:05 2010 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Do not use -pthread on Darwin
kusano 7d535a
    
kusano 7d535a
    It's not needed because Darwin has POSIX Threads in libc. Fixes #96.
kusano 7d535a
kusano 7d535a
commit a120747d561929682cd0276ea4c13fb22fad8554
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Oct 30 22:07:37 2010 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: Check for poll.h, and for nfds_t on Darwin
kusano 7d535a
    
kusano 7d535a
    On Linux, assume nfds_t is always available.
kusano 7d535a
    
kusano 7d535a
    On Darwin, fall back to unsigned int when poll() exists but there
kusano 7d535a
    is no nfds_t, such as on Mac OS X before 10.4.
kusano 7d535a
    
kusano 7d535a
    On Windows (both MinGW and Cygwin), always use unsigned int instead
kusano 7d535a
    of nfds_t, and don't check for poll.h because we use our own poll()
kusano 7d535a
    implementation.
kusano 7d535a
kusano 7d535a
commit 21d03d12f92c0d9bd7990861ca0ebf5009f82799
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Tue Oct 5 20:08:08 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Add support for control requests on endpoints other than 0
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
kusano 7d535a
commit 9bfacd760b40f1137a7835198c6028cbdaddeb18
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Tue Oct 5 23:11:50 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Add more error checking for libusb_open()
kusano 7d535a
    
kusano 7d535a
    Now also check the CreateDeviceAsyncEventSource() return code for errors.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
kusano 7d535a
commit 478cd4a30728595fd742aa192d8149ee4216d4bc
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Nov 3 21:46:53 2010 +0100
kusano 7d535a
kusano 7d535a
    Core: libusb_get_next_timeout() must consider all flying transfers
kusano 7d535a
    
kusano 7d535a
    If transfer->flags indicated that a transfer had a timeout, but no
kusano 7d535a
    timeout was actually set, then libusb_get_next_timeout() would look
kusano 7d535a
    no further for a timeout, ignoring any transfers later in the list
kusano 7d535a
    which had a timeout set.
kusano 7d535a
    
kusano 7d535a
    Since libusb has an internal 60 second timeout this bug could not
kusano 7d535a
    cause complete lockup, but it could cause a 60 second timeout even
kusano 7d535a
    when a transfer was submitted with a shorter timeout.
kusano 7d535a
kusano 7d535a
commit 7802e4a3e38bcefccf96ae510ec2c6b7a959b8b5
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Mon Nov 15 14:55:51 2010 +0100
kusano 7d535a
kusano 7d535a
    Linux: Correctly catch read() errors for sysfs config descriptors
kusano 7d535a
    
kusano 7d535a
    read(2) returns ssize_t (signed) and not size_t (unsigned) or int.
kusano 7d535a
    
kusano 7d535a
    Silence "warning: comparison of unsigned expression < 0 is always false"
kusano 7d535a
    and fix #75.
kusano 7d535a
kusano 7d535a
commit 4c7f3c8c3012bddba058afd2abdda792944fcda1
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Jan 23 04:01:25 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Refactor cancellation into one function for all transfer types
kusano 7d535a
kusano 7d535a
commit 011f1f297bc134188fab9960da1b1b9f0bd541aa
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Oct 17 08:19:56 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: Refactor discarding of URBs into a function and return all errors
kusano 7d535a
    
kusano 7d535a
    The Linux backend did not always return errors according to the
kusano 7d535a
    libusb_cancel_transfer() documentation.
kusano 7d535a
kusano 7d535a
commit 26246df19cb4d88954a5aa9ed5f6b859e451df85
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Jan 23 04:01:01 2011 +0100
kusano 7d535a
kusano 7d535a
    Linux: Set private number of URBs also for control transfers
kusano 7d535a
kusano 7d535a
commit 295c9d12e25bc2dbdd8b42bd67a1f7120f0631a1
kusano 7d535a
Author: Alan Stern <stern@rowland.harvard.edu>
kusano 7d535a
Date:   Sun Oct 17 06:57:06 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: cancel URBs in reverse order
kusano 7d535a
    
kusano 7d535a
    In a multi-URB transfer, URBs should be cancelled in reverse order of
kusano 7d535a
    submission. This prevents races that might otherwise occur (after URB N
kusano 7d535a
    is cancelled, data may be transferred for URB N+1 before it too can be
kusano 7d535a
    cancelled). Fixes #8.
kusano 7d535a
kusano 7d535a
commit 07df377a5df25e9c1811b554dc00eb8c40e5b995
kusano 7d535a
Author: Alan Stern <stern@rowland.harvard.edu>
kusano 7d535a
Date:   Sun Oct 17 04:17:32 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: report correct value for urb->actual_length
kusano 7d535a
    
kusano 7d535a
    Transferred bytes are returned correctly by the kernel for every URB,
kusano 7d535a
    even when an error occurs.  Hence they should always be included in
kusano 7d535a
    the transfer statistics.  The same is true for isochronous packet
kusano 7d535a
    length and status.
kusano 7d535a
    
kusano 7d535a
    [stuge: set itransfer->transferred so data is stored at correct offset]
kusano 7d535a
kusano 7d535a
commit b26db49208c7a6ef0a99645142af21ce80c57c22
kusano 7d535a
Author: Alan Stern <stern@rowland.harvard.edu>
kusano 7d535a
Date:   Fri Oct 22 11:13:34 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: improve reporting of URB error status codes
kusano 7d535a
    
kusano 7d535a
    Fix the way overflow errors are handled (they can occur in any
kusano 7d535a
    transaction, not just the last one in a transfer) and add tests
kusano 7d535a
    for other commonly-occuring error statuses.
kusano 7d535a
kusano 7d535a
commit efc29733ad31f81883a7ac51a6cc6cda9ad4feb9
kusano 7d535a
Author: Alan Stern <stern@rowland.harvard.edu>
kusano 7d535a
Date:   Tue Oct 5 11:08:40 2010 -0400
kusano 7d535a
kusano 7d535a
    Linux: improve detection of BULK_CONTINUATION kernel support
kusano 7d535a
    
kusano 7d535a
    Clarify the comments describing the BULK_CONTINATION flag, and improve
kusano 7d535a
    the subroutine that checks whether the flag is supported by making it
kusano 7d535a
    "future-proof", i.e., by working properly with kernel version numbers
kusano 7d535a
    higher than 2.6.
kusano 7d535a
kusano 7d535a
commit bd267cf92269e0c4cd8eef795b91eefb2c63452e
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Mon Nov 22 05:14:00 2010 +0100
kusano 7d535a
kusano 7d535a
    README: Update webpage URL and add Peter's email address
kusano 7d535a
kusano 7d535a
commit 845b715675703c5f1bc907f6302ece416c9f112c
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Wed Aug 4 07:30:22 2010 +0200
kusano 7d535a
kusano 7d535a
    libusb is not just for Linux!
kusano 7d535a
kusano 7d535a
commit 67d9ef7b6877e17f2deec81cd41dc0948f6bed4b
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Tue Oct 5 19:48:39 2010 -0600
kusano 7d535a
kusano 7d535a
    Remove USBI_OS_HANDLES_TIMEOUT and fix int/isoc timeouts on Darwin
kusano 7d535a
    
kusano 7d535a
    Backends set USBI_TRANSFER_OS_HANDLES_TIMEOUT for transfers instead.
kusano 7d535a
    Darwin only handles timeouts for bulk and control transfers, so the
kusano 7d535a
    backend now sets that flag accordingly, making libusb core handle
kusano 7d535a
    timeouts for interrupt and isochronous transfers. Fixes #31.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
    
kusano 7d535a
    [stuge: rework libusb_get_next_timeout() and enum usbi_transfer_flags]
kusano 7d535a
    [stuge: fix typo; set USBI_TRANSFER_TIMED_OUT flag correctly]
kusano 7d535a
kusano 7d535a
commit 370922dfbe0964c0b8a0c1974bb1d7b85ac10607
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sun Nov 14 03:14:00 2010 +0100
kusano 7d535a
kusano 7d535a
    Silence "warning: suggest braces around empty body in an 'if' statement"
kusano 7d535a
kusano 7d535a
commit 0f85015bdf87f3bca0d86ed87c9b976176640922
kusano 7d535a
Author: Konrad Rzepecki <hannibal@astral.lodz.pl>
kusano 7d535a
Date:   Sat Nov 13 14:09:22 2010 +0100
kusano 7d535a
kusano 7d535a
    Disallow libusb_get_string_descriptor_ascii() with index 0
kusano 7d535a
    
kusano 7d535a
    String descriptor 0 is the list of supported language IDs in the device,
kusano 7d535a
    which can't have an ASCII representation. Calling the function with
kusano 7d535a
    index 0 is thus not really useful. Fixes #43.
kusano 7d535a
kusano 7d535a
commit 3b41c31d3fa2c1f93649cc5fc0f59acbf3efd5a1
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Fri Mar 19 15:35:14 2010 +0100
kusano 7d535a
kusano 7d535a
    Use const for the usbi_parse_descriptor() format string
kusano 7d535a
    
kusano 7d535a
    Constant strings should be "const char *" instead of "char *". Silence
kusano 7d535a
    "discards qualifiers from pointer target type" warnings. Fixes #61.
kusano 7d535a
kusano 7d535a
commit 7f2e9f0776386997d2b4c4c47598ab88e3caeb7a
kusano 7d535a
Author: Hector Martin <hector@marcansoft.com>
kusano 7d535a
Date:   Wed Aug 25 03:21:57 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: Fix usbfs/sysfs config descriptor handling on big-endian
kusano 7d535a
    
kusano 7d535a
    usbfs endian-swaps, sysfs doesn't, not the other way around. Fixes #51;
kusano 7d535a
    descriptor endian parsing is backwards using sysfs on big-endian hosts.
kusano 7d535a
    usbfs is untested.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Hector Martin <hector@marcansoft.com>
kusano 7d535a
    
kusano 7d535a
    [stuge: checked against Documentation/usb/proc_usb_info.txt]
kusano 7d535a
kusano 7d535a
commit 2aa8984e59cf0f492e7fbebb8924f54f6160cc5e
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Tue Aug 17 20:53:04 2010 +0200
kusano 7d535a
kusano 7d535a
    examples: #include <libusb.h> without directory name
kusano 7d535a
    
kusano 7d535a
    The libusb-1.0 directory name belongs in the compile command, e.g.
kusano 7d535a
    via pkg-config --cflags. Fixes #58.
kusano 7d535a
kusano 7d535a
commit 7da756e09fd97efad2b35b5cee0e2b2550aac2cb
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Thu Jun 24 10:14:24 2010 +0200
kusano 7d535a
kusano 7d535a
    Add missing argument to libusb_wait_for_event() documentation, fix #55
kusano 7d535a
    
kusano 7d535a
    In the libusb_wait_for_event() sample code in the section "Letting other
kusano 7d535a
    threads do the work for you" the call to libusb_wait_for_event() was not
kusano 7d535a
    updated by commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90, which added
kusano 7d535a
    the libusb_context *ctx parameter to the function, so the sample code
kusano 7d535a
    was broken until now.
kusano 7d535a
kusano 7d535a
commit 678c242705b29f9cb6cc421b5625a6485ae58047
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Oct 16 14:22:30 2010 +0200
kusano 7d535a
kusano 7d535a
    examples: Silence warnings about return value of fwrite()
kusano 7d535a
kusano 7d535a
commit 9cd9059bf9baac69a9d6c909f4c1e000592fa260
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Sat Oct 16 11:47:14 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: Don't free() URBs prematurely on hardware error; fix #54
kusano 7d535a
    
kusano 7d535a
    When an URB in a multi-URB transfer had an error, handle_bulk_completion()
kusano 7d535a
    would free all URBs and segfault once the next one completed, instead of
kusano 7d535a
    cancelling the remaining URBs and cleaning up as usual.
kusano 7d535a
    
kusano 7d535a
    This is basically the patch from the ticket, plus some restructuring
kusano 7d535a
    for increased readability of the function.
kusano 7d535a
    
kusano 7d535a
    Many thanks to Brian Shirley and National Instruments for finding and
kusano 7d535a
    fixing this!
kusano 7d535a
kusano 7d535a
commit 116d34f608b02f4e14668450b158acf5db726f95
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:43:41 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: add support for filter drivers
kusano 7d535a
    
kusano 7d535a
    * precedence is driver > upper filter > lower filter, and defined
kusano 7d535a
      in struct driver_lookup lookup from set_device_paths()
kusano 7d535a
kusano 7d535a
commit eb833fcd837e3aac2e497438b14c8612254c28ce
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:36:49 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: fix errcode shadow warning, and string and DLL_DECLARE fixes
kusano 7d535a
    
kusano 7d535a
    * use FormatMessageA, and overall improvement of windows_error_str()
kusano 7d535a
    * use safe_strlen() always
kusano 7d535a
    * better typing/init default
kusano 7d535a
    * more explicit debug message for devices with no driver
kusano 7d535a
kusano 7d535a
commit 1feadb5f78e1d2cdfd2aaf0011e041c2848bae37
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Oct 5 12:29:32 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: use IOCTLs for HID input, output and feature reports
kusano 7d535a
    
kusano 7d535a
    * fixes feature reports not providing actual read size
kusano 7d535a
      (reported by Axel Rohde http://marc.info/?m=127033070021994)
kusano 7d535a
    * removes the USE_HIDD_FOR_REPORTS macro
kusano 7d535a
    * IOCTL usage inspired from HIDAPI by Alan Ott
kusano 7d535a
kusano 7d535a
commit d7c25451f4075d2a12eb5cbc91ff3de8c0292da0
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Mon Oct 4 20:03:58 2010 +0100
kusano 7d535a
kusano 7d535a
    Fix libtool version setting
kusano 7d535a
    
kusano 7d535a
    This was being set too early to take effect.
kusano 7d535a
kusano 7d535a
commit a6fb54e2eef4e393bd06829bc3bdc746ea9d41a6
kusano 7d535a
Author: Mike Frysinger <vapier@gentoo.org>
kusano 7d535a
Date:   Mon Oct 4 20:01:07 2010 +0100
kusano 7d535a
kusano 7d535a
    Populate the pkg-config Libs.private field
kusano 7d535a
kusano 7d535a
commit a9b4065f048e750b7317f6434406fd528b69bf33
kusano 7d535a
Author: Mike Frysinger <vapier@gentoo.org>
kusano 7d535a
Date:   Fri Aug 20 00:09:46 2010 -0400
kusano 7d535a
kusano 7d535a
    Linux: fix build failure when CLOCK_MONOTONIC does not exist
kusano 7d535a
    
kusano 7d535a
    This is not available on all platforms.
kusano 7d535a
kusano 7d535a
commit d192c5bd32736fde0080d756de6221287af34891
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Mon Oct 4 18:45:18 2010 +0100
kusano 7d535a
kusano 7d535a
    Update libtool version info
kusano 7d535a
    
kusano 7d535a
    With input from various people on the mailing list, update the libtool
kusano 7d535a
    versioning info and start to update this on every release.
kusano 7d535a
    
kusano 7d535a
    The next libusb release will not need a change here. All following ones
kusano 7d535a
    will.
kusano 7d535a
kusano 7d535a
commit e65f69a7ef3de357c867ddaac9598efe407078b6
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Thu Aug 5 16:40:09 2010 +0100
kusano 7d535a
kusano 7d535a
    Updated documentation for unsupported Darwin/Windows calls
kusano 7d535a
kusano 7d535a
commit c8bab4e19413d70c515a2eaf747a75b7f66fdc0b
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Sun Sep 19 14:24:25 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: Make libusb_pollfd() return error
kusano 7d535a
    
kusano 7d535a
    Windows does not have numerical file descriptors but does have the
kusano 7d535a
    concept of event sources. Exposing these event sources will require
kusano 7d535a
    some careful thought and design, to be completed later.
kusano 7d535a
kusano 7d535a
commit bd623f70d99fad8b975f8d4ee62ea4b1abf1272f
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Sun Sep 19 14:21:01 2010 +0100
kusano 7d535a
kusano 7d535a
    MinGW: Use --add-stdcall-alias linker option
kusano 7d535a
    
kusano 7d535a
    Naming of symbols inside the library is inconsistent on Windows:
kusano 7d535a
    http://wyw.dcweb.cn/stdcall.htm
kusano 7d535a
    
kusano 7d535a
    Use this linker option to add aliases which add compatibility with
kusano 7d535a
    the "MSVC DLL" platform when a DEF file is used. It also better matches
kusano 7d535a
    the appearance of the Windows API itself.
kusano 7d535a
kusano 7d535a
commit 29f9f9e3af3340df6a955881a93caf9d2a6d08d6
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Fri Aug 13 11:59:49 2010 +0100
kusano 7d535a
kusano 7d535a
    Introduced calling convention (for Windows)
kusano 7d535a
    
kusano 7d535a
    Under Windows, a variety of compilers and configurations are available,
kusano 7d535a
    meaning that the manner of parameter passing (e.g. registers vs stack)
kusano 7d535a
    can vary.
kusano 7d535a
    
kusano 7d535a
    Match the Windows API calling convention and document this appropriately.
kusano 7d535a
    This calling convention will be used regardless of the configuration of
kusano 7d535a
    the user's development platform.
kusano 7d535a
    
kusano 7d535a
    The only user-level complication is that all functions used as libusb
kusano 7d535a
    callbacks must use the same calling convention as libusb. The
kusano 7d535a
    LIBUSB_CALL macro is provided to make this easy.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
    Signed-off-by: Pete Batard <pbatard@gmail.com>
kusano 7d535a
    [dsd: slight change of strategy, add documentation]
kusano 7d535a
kusano 7d535a
commit be523f1fe7c136c3fca06ae9c96aff44a22482ba
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Fri Aug 6 21:56:04 2010 -0600
kusano 7d535a
kusano 7d535a
    Windows: fix string copy in sanitize_path
kusano 7d535a
    
kusano 7d535a
    The NULL byte was not being copied.
kusano 7d535a
kusano 7d535a
commit 7fd36af9f749ce8bf96f89cefd519a9f46825573
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Fri Jul 30 00:30:31 2010 +0100
kusano 7d535a
kusano 7d535a
    Windows: DuplicateHandle failure is not a warning
kusano 7d535a
    
kusano 7d535a
    This is because WinUSB handles are not duplicable, and generate a
kusano 7d535a
    lot of these warnings.
kusano 7d535a
kusano 7d535a
commit 33cd2f68b4d500e852e354e5acae3d9a96a8ec26
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Fri Jul 30 00:23:05 2010 +0100
kusano 7d535a
kusano 7d535a
    removed trailing whitespaces
kusano 7d535a
kusano 7d535a
commit e47849afe9381c864683220eac9ce7bcf43f7883
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed Aug 4 18:18:32 2010 -0600
kusano 7d535a
kusano 7d535a
    Windows: Mark interfaces as unused when releasing
kusano 7d535a
    
kusano 7d535a
    Without this important cleanup, the autoclaim code could attempt to
kusano 7d535a
    reuse an unclaimed interface as if it were already claimed.
kusano 7d535a
kusano 7d535a
commit b30ca141a0bdce26e7cfdd91d346e49051532ee7
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed Aug 4 18:15:59 2010 -0600
kusano 7d535a
kusano 7d535a
    Windows: fix device path string duplication
kusano 7d535a
kusano 7d535a
commit e8d7a89503d5655c4b04da718c6971e25ff48162
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Mon Aug 2 21:27:38 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Cache device configuration value
kusano 7d535a
    
kusano 7d535a
    Cache device configuration value to bring the Darwin backend more in
kusano 7d535a
    line with the libusb spec. To handle buggy devices GetConfiguration is
kusano 7d535a
    not called unless the device has more than one configuration.
kusano 7d535a
kusano 7d535a
commit fe5d1d2050f715ffa8cbd35a378ac969a1a01584
kusano 7d535a
Author: Xiaofan Chen <xiaofanc@gmail.com>
kusano 7d535a
Date:   Fri Jul 30 15:56:43 2010 +0100
kusano 7d535a
kusano 7d535a
    Fix inconsistencies between prototypes and definitions
kusano 7d535a
    
kusano 7d535a
    This removes some warnings on cygwin regarding a name clash against
kusano 7d535a
    the standard library "index" function.
kusano 7d535a
kusano 7d535a
commit 3b538c43e11b805a37d93b6283d270d5d5f0d1f5
kusano 7d535a
Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
kusano 7d535a
Date:   Tue Jul 27 21:04:17 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: handle kIOReturnUnderrun
kusano 7d535a
    
kusano 7d535a
    This return code indicates that the device returned a data packet
kusano 7d535a
    less than the max packet size. In libusb backend terms, this is
kusano 7d535a
    a successful transfer.
kusano 7d535a
kusano 7d535a
commit 9a4249f8a104b98a15a7e3ba7ecae9a385ed9027
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Sat Jul 10 17:51:13 2010 -0600
kusano 7d535a
kusano 7d535a
    Add Windows support
kusano 7d535a
    
kusano 7d535a
    Via Cygwin/MinGW, libusb now has windows support.
kusano 7d535a
    Thanks to contributors: Michael Plante, Orin Eman, Peter Stuge,
kusano 7d535a
    Stephan Meyer, Xiaofan Chen.
kusano 7d535a
kusano 7d535a
commit d38dd5e3d2a872f7064eea084ddea8c33811dd7d
kusano 7d535a
Author: Hoi-Ho Chan <hoiho.chan@gmail.com>
kusano 7d535a
Date:   Sat Jul 24 13:48:00 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: write iso transfer details into correct packets
kusano 7d535a
kusano 7d535a
commit fbff5b4b665ff2ebc948162617cf7f4f5d2fabeb
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Sat Jul 24 13:42:57 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix interface object leak
kusano 7d535a
kusano 7d535a
commit dffc09835d6860ae9b6a62c39af5be346188cb05
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Sat Jul 24 13:41:03 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: clean up some debug messages
kusano 7d535a
kusano 7d535a
commit 946d1abbca397b8e88a1b0b4df176dcc5e3b7348
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Sat Jul 24 13:39:16 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Don't open devices during scan unless we have to unsuspend
kusano 7d535a
kusano 7d535a
commit 3b6d9ac82e2599cad7817d21e909a42275ddc4c4
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Fri Jun 25 08:08:13 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: Handle early complete of multi-URB transfer
kusano 7d535a
kusano 7d535a
commit a516fcb99376686d2d0028e5ac69950c57a55b9e
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Wed Jul 21 17:49:21 2010 -0600
kusano 7d535a
kusano 7d535a
    Only compile dpfp examples when sigaction is available
kusano 7d535a
    
kusano 7d535a
    It's not available on MinGW.
kusano 7d535a
kusano 7d535a
commit a1d831ef82e1700f4ebb9df6ca5cef74be757c08
kusano 7d535a
Author: Aurelien Jarno <aurelien@aurel32.net>
kusano 7d535a
Date:   Tue May 25 09:32:19 2010 +0200
kusano 7d535a
kusano 7d535a
    configure.ac: fix bashisms
kusano 7d535a
kusano 7d535a
commit 7211aba6e290f9805e911959b2a43a4b3ec56d4f
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Fri Jun 25 12:01:58 2010 -0500
kusano 7d535a
kusano 7d535a
    Only include sys/time.h on appropriate platforms
kusano 7d535a
    
kusano 7d535a
    This header doesn't exist on windows.
kusano 7d535a
    For libusb, determine at configure-time if the header is available.
kusano 7d535a
    For libusb.h, use gcc predefined macros to only include the header
kusano 7d535a
    on platforms that need it.
kusano 7d535a
kusano 7d535a
commit b33c3cb9651459de1f3d549677cbac67a017a295
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Tue Jun 22 18:45:38 2010 -0500
kusano 7d535a
kusano 7d535a
    Linux: Fix log message commit
kusano 7d535a
    
kusano 7d535a
    Forgot to test this.
kusano 7d535a
kusano 7d535a
commit 139648d5723190734a51c1c66ddf41c3e87adf10
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Mon Jun 21 10:19:29 2010 +0200
kusano 7d535a
kusano 7d535a
    Only initialize the default context when it is requested
kusano 7d535a
kusano 7d535a
commit 22d61cd0891d8304dfc1a70579cf154fd8e6644a
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Tue Jun 22 18:20:23 2010 -0500
kusano 7d535a
kusano 7d535a
    Linux: fix log message that was being unconditionally sent to stderr (#44)
kusano 7d535a
    
kusano 7d535a
    This message was put in place to aid libusb-compat-0.1 users, who
kusano 7d535a
    may run into the change that libusb-0.1 allowed you to usb_open() a
kusano 7d535a
    device that you don't have write access to, but libusb-1.0 does not.
kusano 7d535a
    
kusano 7d535a
    As explained on the ticket this change is dangerous so it should go through
kusano 7d535a
    the usual logging mechanism. I also added a similar regular log message
kusano 7d535a
    to libusb-compat-0.1.
kusano 7d535a
kusano 7d535a
commit 82065a2c5e9d5ad0b2bb28792d12462f2fa150f0
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Thu Jun 10 18:41:27 2010 +0200
kusano 7d535a
kusano 7d535a
    Fix 2 documentation typos
kusano 7d535a
kusano 7d535a
commit 351c062aacdde0b0fa7972ee9b7c6b355dcee110
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Wed Apr 21 16:49:33 2010 +0200
kusano 7d535a
kusano 7d535a
    add AM_MAINTAINER_MODE
kusano 7d535a
kusano 7d535a
commit a7c056c14867e1cc3ef83682f2706cdbdca7c4ce
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Thu Jun 10 17:00:25 2010 -0500
kusano 7d535a
kusano 7d535a
    Factorize event handler interruption code
kusano 7d535a
    
kusano 7d535a
    This will be additionally used by the windows backend which modifies
kusano 7d535a
    the fd set frequently.
kusano 7d535a
kusano 7d535a
commit fc0af8e3f76925ad09e0fbc6d233d500753ee375
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Sat Jun 5 12:14:19 2010 -0500
kusano 7d535a
kusano 7d535a
    Abstract low-level event handler operations
kusano 7d535a
    
kusano 7d535a
    The Windows backend uses something other than UNIX file descriptors
kusano 7d535a
    for event handling. Abstract out the operations to allow for this.
kusano 7d535a
kusano 7d535a
commit 64383fb5b55a74b706967836e81cef61e57df86a
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Tue Jun 1 11:38:14 2010 +0100
kusano 7d535a
kusano 7d535a
    fixes the possibility of using a broken timercmp on Windows
kusano 7d535a
    
kusano 7d535a
    Microsoft's implementation of timercmp does not work for >= or <=.
kusano 7d535a
kusano 7d535a
commit f6d60a9a8fcf06629812da886e3a5de592624b61
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Mon Feb 1 19:26:13 2010 +0000
kusano 7d535a
kusano 7d535a
    Switched to standard int pointer type for windows 64-bit compat
kusano 7d535a
    
kusano 7d535a
    On 64-bit Windows a pointer is 64 bit, but long is still 32 bit for
kusano 7d535a
    backwards compatibility.
kusano 7d535a
    uintptr_t nicely hides this difference and also works on Linux.
kusano 7d535a
    
kusano 7d535a
    [dsd: add appropriate include]
kusano 7d535a
kusano 7d535a
commit a2fa855ce3795e31905b255267874af0603168bc
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Tue Mar 9 16:39:46 2010 -0600
kusano 7d535a
kusano 7d535a
    added doxygen, dpfp, msvc, and xusb stuff to gitignore
kusano 7d535a
kusano 7d535a
commit 845d96a9c30b6f053208ed6b5b5d4ad1655e2026
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Mon May 31 19:56:34 2010 -0500
kusano 7d535a
kusano 7d535a
    Add reference counting to default context
kusano 7d535a
    
kusano 7d535a
    Michael Plante pointed out that if 2 users call libusb_init(NULL) within
kusano 7d535a
    a process, we end up creating 2 default contexts, one of which is lost.
kusano 7d535a
    
kusano 7d535a
    Add reference counting so that the default context is reused and
kusano 7d535a
    destroyed only after the last user.
kusano 7d535a
kusano 7d535a
commit 0e77f017fd3d1bdec4aced0429a380d3e434081b
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Thu May 27 19:24:49 2010 -0400
kusano 7d535a
kusano 7d535a
    Fix libusb_init() error handling
kusano 7d535a
    
kusano 7d535a
    9996ccaed7 introduced a problem in that mutexes could be destroyed
kusano 7d535a
    in the error handling codepath before they had been created.
kusano 7d535a
    Pointed out by Michael Plante.
kusano 7d535a
kusano 7d535a
commit b03de9d07bf9a6b0c4e6cba9ec06b5271a22e621
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Mon May 24 11:57:10 2010 -0300
kusano 7d535a
kusano 7d535a
    Modify log functions to compile with MSVC6
kusano 7d535a
    
kusano 7d535a
    MSVC6 does not support variadics.
kusano 7d535a
kusano 7d535a
commit aa77b02da65afb0332b9e6853dae9e4dcda00bfa
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Sun Feb 14 19:46:05 2010 -0600
kusano 7d535a
kusano 7d535a
    Add type parameter to the list_for_each_entry() and _safe() macros
kusano 7d535a
    
kusano 7d535a
    typeof() is a GCC extension, not supported by target compilers such
kusano 7d535a
    as MSVC.
kusano 7d535a
kusano 7d535a
commit b92b16f437079208c8dfb1dc2380893846a07ee9
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Wed May 19 17:37:29 2010 -0300
kusano 7d535a
kusano 7d535a
    Fix a usbi_pollfd leak in error path
kusano 7d535a
    
kusano 7d535a
    I accidently missed this when applying Pete Batard's earlier patch.
kusano 7d535a
    Pointed out by Michael Plante.
kusano 7d535a
kusano 7d535a
commit 8aceb5c99056aaed6e6f2db1b303817e37e9fe8c
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Sun Feb 14 19:47:30 2010 -0600
kusano 7d535a
kusano 7d535a
    Rename all interface parameters to usb_interface or interface_number
kusano 7d535a
    
kusano 7d535a
    Remove the use of the ambiguous "interface" where possible without
kusano 7d535a
    breaking the API.
kusano 7d535a
    'interface' is a preprocessor #define already associated with COM on Windows,
kusano 7d535a
    that can cause a conflict as soon as windows.h is included.
kusano 7d535a
    
kusano 7d535a
    There are a few more places where interface is still used, which should
kusano 7d535a
    be changed for libusb-2.0
kusano 7d535a
kusano 7d535a
commit d7031ee8e1c449af23b2674fe18d9fc652c9bd80
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Mon May 17 19:30:27 2010 -0300
kusano 7d535a
kusano 7d535a
    Stricter types and casts
kusano 7d535a
kusano 7d535a
commit 9996ccaed740f8fcec4287a478ccaaa573f9865a
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Mon May 17 19:16:54 2010 -0300
kusano 7d535a
kusano 7d535a
    Fixes to error handling and exit codepaths
kusano 7d535a
    
kusano 7d535a
    Various locks and things were being leaked/left open when handling
kusano 7d535a
    errors and during deinitialization.
kusano 7d535a
    
kusano 7d535a
    [dsd: small tweaks]
kusano 7d535a
kusano 7d535a
commit 371ca4e440894bd1c845971418aa24c9d3919e63
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Thu May 13 19:38:05 2010 -0300
kusano 7d535a
kusano 7d535a
    Darwin: Define IO_OBJECT_NULL if not already defined
kusano 7d535a
    
kusano 7d535a
    Needed on Mac OSX 10.3
kusano 7d535a
kusano 7d535a
commit 7ba92cff94bbba19284749c614c26141d3023f37
kusano 7d535a
Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
kusano 7d535a
Date:   Fri Jan 29 12:08:52 2010 +0100
kusano 7d535a
kusano 7d535a
    libusb_cpu_to_le16: macro->static inline function
kusano 7d535a
    
kusano 7d535a
    The libusb_cpu_to_le16 macro was a ({ ... }) expression, which
kusano 7d535a
    generates the following compiler warning every time it is used,
kusano 7d535a
    (and that is several times for every #include <libusb.h>):
kusano 7d535a
    
kusano 7d535a
    libusb.h:880: warning: ISO C forbids braced-groups within expressions
kusano 7d535a
    
kusano 7d535a
    With this patch, #include <libusb.h> stops generating compiler
kusano 7d535a
    warnings on gcc 4.4.
kusano 7d535a
    
kusano 7d535a
    As libusb.h heavily relies on the use of static inline functions
kusano 7d535a
    those can be relied on to work properly, and there should not be
kusano 7d535a
    any significant difference in the code the compiler generates.
kusano 7d535a
kusano 7d535a
commit 3473ac6c6fab32202d02d87679ebdb24e7d2df98
kusano 7d535a
Author: Francesco <francesco.montorsi@gmail.com>
kusano 7d535a
Date:   Tue Mar 9 16:35:35 2010 -0600
kusano 7d535a
kusano 7d535a
    Add libusb_strerror() to get short error message in English from enum
kusano 7d535a
    
kusano 7d535a
    [dsd: small tweaks]
kusano 7d535a
kusano 7d535a
commit 5b69f3b7b0610d5f518954792ddc93332a41d292
kusano 7d535a
Author: Michael Plante <michael.plante@gmail.com>
kusano 7d535a
Date:   Thu Feb 25 19:39:22 2010 -0600
kusano 7d535a
kusano 7d535a
    Fix libusb_device::lock memory leak
kusano 7d535a
kusano 7d535a
commit a636df4ca1b87ed3094a87828c022092a80ba613
kusano 7d535a
Author: Pete Batard <pbatard@gmail.com>
kusano 7d535a
Date:   Wed May 12 21:46:31 2010 -0300
kusano 7d535a
kusano 7d535a
    Whitespace cleanup
kusano 7d535a
kusano 7d535a
commit 23b5db8b3e353176dfa0635bfb6f0e2658f6e3de
kusano 7d535a
Author: Peter Stuge <peter@stuge.se>
kusano 7d535a
Date:   Tue May 11 00:51:43 2010 +0100
kusano 7d535a
kusano 7d535a
    Add internal abstraction for POSIX Threads
kusano 7d535a
    
kusano 7d535a
    This prepares for a Windows backend without dependency on pthreads-w32.
kusano 7d535a
    
kusano 7d535a
    pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
kusano 7d535a
    
kusano 7d535a
    A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
kusano 7d535a
    introduced for statically initialized mutexes, since they may be
kusano 7d535a
    implemented using other types when pthreads mutexes aren't used.
kusano 7d535a
    
kusano 7d535a
    Move -pthread from libusb/Makefile.am to host-specific THREAD_CFLAGS in
kusano 7d535a
    configure.ac. This will enable optional use of -lpthread for cygwin.
kusano 7d535a
    
kusano 7d535a
    [dsd: minor tweaks, and roll in a change based on patches from Pete
kusano 7d535a
    Batard to only build dpfp_threaded example when we're using pthreads]
kusano 7d535a
kusano 7d535a
commit a04cbb0095a78aeed3f65aaf06c46069d0ac184a
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Tue May 4 19:01:59 2010 -0300
kusano 7d535a
kusano 7d535a
    v1.0.8 release
kusano 7d535a
kusano 7d535a
commit 53b47299531974fa8901b74a163f3c8ebae4eec9
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Thu Apr 22 18:12:51 2010 -0300
kusano 7d535a
kusano 7d535a
    Linux: don't set SHORT_NOT_OK on bulk out URBs (#20
kusano 7d535a
    
kusano 7d535a
    Setting this flag is illegal, and the behaviour we're looking for
kusano 7d535a
    is already in place for host-to-device transfers without this flag.
kusano 7d535a
kusano 7d535a
commit 1519828b7ee1fce46d4c51fc097d52e01b8e0bb4
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Tue Apr 20 20:14:09 2010 -0300
kusano 7d535a
kusano 7d535a
    Linux: Handle failure to read active configuration during enumeration
kusano 7d535a
kusano 7d535a
commit 45168627cc15aee3875192f34286110dbbd27095
kusano 7d535a
Author: Nathan Hjelm <hjelmn@me.com>
kusano 7d535a
Date:   Tue Apr 20 19:43:06 2010 -0300
kusano 7d535a
kusano 7d535a
    Darwin: don't reuse cached descriptors during enumeration
kusano 7d535a
    
kusano 7d535a
    Descriptor reuse was causing scans to return invalid information when
kusano 7d535a
    the device at a location has changed.
kusano 7d535a
kusano 7d535a
commit 3af329db6dcbfb96d24867c757f9e125e5b7b0e5
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Mon Apr 19 19:36:55 2010 -0300
kusano 7d535a
kusano 7d535a
    v1.0.7 release
kusano 7d535a
kusano 7d535a
commit ceb8cacd6d2a4189de0db2ee46d45217511c69be
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Mon Apr 19 19:31:12 2010 -0300
kusano 7d535a
kusano 7d535a
    Document that fd set contents are an internal implementation detail (#36)
kusano 7d535a
kusano 7d535a
commit 9bea500b5747bdeba7c8251d45608558e71a1db5
kusano 7d535a
Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
kusano 7d535a
Date:   Mon Apr 19 19:22:46 2010 -0300
kusano 7d535a
kusano 7d535a
    Linux: correct config descriptor endianness fix
kusano 7d535a
    
kusano 7d535a
    The seek_to_next_config codepath deals with both sysfs and usbfs;
kusano 7d535a
    make sure we only convert values in the usbfs path.
kusano 7d535a
kusano 7d535a
commit 02df59a309e813c50b8230de99e69fb4e1814279
kusano 7d535a
Author: Martin Koegler <mkoegler@auto.tuwien.ac.at>
kusano 7d535a
Date:   Mon Apr 5 17:11:32 2010 +0200
kusano 7d535a
kusano 7d535a
    Linux: Fix endianness handling of usbfs config descriptors (#27)
kusano 7d535a
    
kusano 7d535a
    driver/usb/core/devio.c function usbdev_read translate the follwing files
kusano 7d535a
    to CPU endianess:
kusano 7d535a
    
kusano 7d535a
    le16_to_cpus(&temp_desc.bcdUSB);
kusano 7d535a
    le16_to_cpus(&temp_desc.idVendor);
kusano 7d535a
    le16_to_cpus(&temp_desc.idProduct);
kusano 7d535a
    le16_to_cpus(&temp_desc.bcdDevice);
kusano 7d535a
    
kusano 7d535a
    All other data is passed without any change.
kusano 7d535a
    
kusano 7d535a
    libusb/os/linux_usbfs.c calls usbi_parse_descriptor with host_endian=1
kusano 7d535a
    for config descriptors. According to the kernel code, they must be
kusano 7d535a
    processed with host_endian=0, as they are not translated by the kernel.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
kusano 7d535a
kusano 7d535a
commit ec303b01a5d4e51c000a283853af65059fa62285
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Tue Mar 23 16:22:08 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix enumeration of devices with non-consecutive addresses (#23)
kusano 7d535a
kusano 7d535a
commit cd809e2f7cee3874b7ae16b2c482a8b63a90e4a5
kusano 7d535a
Author: Bastien Nocera <hadess@hadess.net>
kusano 7d535a
Date:   Mon Mar 8 10:50:51 2010 +0000
kusano 7d535a
kusano 7d535a
    Add more interface classes
kusano 7d535a
    
kusano 7d535a
    As used in bluez.
kusano 7d535a
kusano 7d535a
commit 1ce4aa67d849f5cad8a21072dc1c7b42158ce817
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Thu Mar 18 11:32:32 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: Cleanup async callback code, catch request timeouts
kusano 7d535a
kusano 7d535a
commit 68af9f8d731f700267335941a8214d34ab518cc8
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Thu Mar 18 11:31:46 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix endianness of control setup packet
kusano 7d535a
    
kusano 7d535a
    IOUSBLib expects the control request to be in host byte order.
kusano 7d535a
    Swap the request into host byte order.
kusano 7d535a
kusano 7d535a
commit cfce4d127184f4e4f334976151a0f80594bb5e22
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 15 14:10:08 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: fix memory leak in process_device
kusano 7d535a
    
kusano 7d535a
    Credit to Mike Colagrosso for finding this bug.
kusano 7d535a
kusano 7d535a
commit 161893cfbefefe315f657677705abe090fc526f2
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 15 14:09:19 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: use logging functions
kusano 7d535a
    
kusano 7d535a
    Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
kusano 7d535a
kusano 7d535a
commit 2a72f38548208044dc3aa62681419d006c35732d
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 15 14:07:44 2010 -0600
kusano 7d535a
kusano 7d535a
    Darwin: support multiple calls to libusb_init
kusano 7d535a
    
kusano 7d535a
    Credit to Orin Eman for finding this bug.
kusano 7d535a
kusano 7d535a
commit a4186794d87124503db2f5f51f51ce90bb95daa7
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Sun Nov 22 17:20:53 2009 +0000
kusano 7d535a
kusano 7d535a
    v1.0.6 release
kusano 7d535a
kusano 7d535a
commit 8392ff22136fccaf1e15d186157609b8dd127bc5
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Sun Oct 25 10:06:41 2009 +0100
kusano 7d535a
kusano 7d535a
    lsusb example: make print_devs() static
kusano 7d535a
    
kusano 7d535a
    lsusb.c:26: warning: no previous prototype for ‘print_devs’
kusano 7d535a
kusano 7d535a
commit 9cc6bfaa15239bb6db1c1570b9beb6df2f848951
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Sun Oct 25 10:05:10 2009 +0100
kusano 7d535a
kusano 7d535a
    Darwin: fix warning in darwin_error_str()
kusano 7d535a
    
kusano 7d535a
    os/darwin_usb.c:63: warning: return discards qualifiers from pointer
kusano 7d535a
    target type
kusano 7d535a
kusano 7d535a
commit 4c706d2fb6b2c43b10d72ac5dff51cac4d939f1a
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Sat Nov 21 17:06:43 2009 +0000
kusano 7d535a
kusano 7d535a
    Darwin: allow devices to be opened multiple times
kusano 7d535a
    
kusano 7d535a
    Allows libusb applications to access multiple interfaces of the same
kusano 7d535a
    device in the same application.
kusano 7d535a
    
kusano 7d535a
    Also fixes a set alt interface bug.
kusano 7d535a
kusano 7d535a
commit 0232fc559cdacb9561f982dd6d28feb4435b3e4e
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Sat Nov 21 17:01:32 2009 +0000
kusano 7d535a
kusano 7d535a
    Increase libusb_handle_events() timeout to 60 seconds
kusano 7d535a
    
kusano 7d535a
    The internal timing seems to be working, this will be a better test of
kusano 7d535a
    it before we make this timeout unlimited.
kusano 7d535a
kusano 7d535a
commit 0bd7ef5d8697973a026c36c15d6276177b4ec4ea
kusano 7d535a
Author: Daniel Drake <dan@reactivated.net>
kusano 7d535a
Date:   Sat Nov 21 16:57:25 2009 +0000
kusano 7d535a
kusano 7d535a
    Refine timerfd header check (#18)
kusano 7d535a
    
kusano 7d535a
    Require glibc-2.9 for the working timerfd support.
kusano 7d535a
kusano 7d535a
commit 90d8fcab9018b8e6887a7e0592d1e5f692117234
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Nov 15 12:17:13 2009 +0000
kusano 7d535a
kusano 7d535a
    v1.0.5 release
kusano 7d535a
kusano 7d535a
commit 11d591058e3f105b0e90c23bbf58b18de691e690
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Nov 7 10:43:59 2009 +0000
kusano 7d535a
kusano 7d535a
    Update documentation about early completion caveats
kusano 7d535a
kusano 7d535a
commit f796c9528a71aa55326b6f0c9c7c5ec073d2bf92
kusano 7d535a
Author: Ludovic Rousseau <rousseau@debian.org>
kusano 7d535a
Date:   Sun Oct 25 09:59:51 2009 +0100
kusano 7d535a
kusano 7d535a
    Add libusb_get_max_iso_packet_size() to libusb.h
kusano 7d535a
    
kusano 7d535a
    core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
kusano 7d535a
kusano 7d535a
commit 4783008b7e711de9cb31631e60dda995f44068de
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Oct 28 20:33:49 2009 +0545
kusano 7d535a
kusano 7d535a
    Use timerfd for timeout handling
kusano 7d535a
    
kusano 7d535a
    Use a new file descriptor from the timerfd system calls to handle
kusano 7d535a
    timeouts. On supported systems, this means that there is less hassle
kusano 7d535a
    figuring out when the poll() timeout should be, since
kusano 7d535a
    libusb_get_next_timeout() will always return 0 and the timeout events will
kusano 7d535a
    be triggered as regular activity on the file descriptor set.
kusano 7d535a
    
kusano 7d535a
    Add API function libusb_pollfds_handle_timeouts() to detect whether
kusano 7d535a
    you're on a platform with the timing headache, and flesh out the
kusano 7d535a
    surrounding documentation.
kusano 7d535a
kusano 7d535a
commit 9b120c2b3735566533c179aa8ca758fe45899a38
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Nov 7 10:03:07 2009 +0000
kusano 7d535a
kusano 7d535a
    Use AM_SILENT_RULES for building
kusano 7d535a
kusano 7d535a
commit ef6ea6c3ae38e4524f10e16e8cb88177d39c4826
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Nov 6 21:54:08 2009 +0000
kusano 7d535a
kusano 7d535a
    v1.0.4 release
kusano 7d535a
kusano 7d535a
commit 217f57617e0cff0d1bd6d726b243f04c6b179773
kusano 7d535a
Author: David Moore <dcm@acm.org>
kusano 7d535a
Date:   Fri Nov 6 21:37:25 2009 +0000
kusano 7d535a
kusano 7d535a
    Linux: Add support for the new URB_BULK_CONTINUATION flag
kusano 7d535a
    
kusano 7d535a
    Add support for the new USBDEVFS_URB_BULK_CONTINUATION flag to libusb.
kusano 7d535a
    
kusano 7d535a
    This flag, which is expected to be available in usbfs starting with
kusano 7d535a
    kernel 2.6.32, allows the kernel to cancel multiple URBs upon receipt
kusano 7d535a
    of a short packet.  This capability allows libusb to preserve data
kusano 7d535a
    integrity of large bulk transfers that are split into multiple URBs.
kusano 7d535a
    Without this support, these URBs must be canceled in userspace upon
kusano 7d535a
    receipt of a short packet, a race condition against future transfers
kusano 7d535a
    which might partially fill these canceled URBs.
kusano 7d535a
    
kusano 7d535a
    This patch automatically detects whether a supported kernel is present
kusano 7d535a
    and enables the use of the flag when possible.
kusano 7d535a
    
kusano 7d535a
    [dsd: tweaks to supported kernel detection, and some inline
kusano 7d535a
     documentation of this mechanism]
kusano 7d535a
kusano 7d535a
commit 69830057547396f893f0d7b3125a05d016313b10
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Oct 28 15:13:22 2009 +0545
kusano 7d535a
kusano 7d535a
    Transfer locking
kusano 7d535a
    
kusano 7d535a
    At least on Linux, there were some possible races that could occur if
kusano 7d535a
    a transfer is cancelled from one thread while another thread is handling
kusano 7d535a
    an event for that transfer, or for if a transfer completes while it is
kusano 7d535a
    still being submitted from another thread, etc.
kusano 7d535a
    
kusano 7d535a
    On the global level, transfers could be submitted and cancelled at the
kusano 7d535a
    same time.
kusano 7d535a
    
kusano 7d535a
    Fix those issues with transfer-level locks.
kusano 7d535a
kusano 7d535a
commit 98f1b30d24359cb3185051b8df9ebb663cc10369
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Sep 14 08:01:24 2009 +0100
kusano 7d535a
kusano 7d535a
    Clarify that timeout 0 means unlimited timeout
kusano 7d535a
kusano 7d535a
commit 858684f0dd25921e09565034a88709dbf6f6c61b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Sep 11 22:09:12 2009 +0100
kusano 7d535a
kusano 7d535a
    Linux: more flexibility with monotonic clock
kusano 7d535a
    
kusano 7d535a
    Some users have reported that CLOCK_MONOTONIC does not work on their
kusano 7d535a
    systems - I suspect it is available on x86 but perhaps not some
kusano 7d535a
    of the more uncommon architectures. We should fall back on
kusano 7d535a
    CLOCK_REALTIME in these cases.
kusano 7d535a
    
kusano 7d535a
    Also, CLOCK_MONOTONIC_RAW seems even more monotonic, so we should use
kusano 7d535a
    that if it is available.
kusano 7d535a
    
kusano 7d535a
    We now test different clock IDs during initialization to find the
kusano 7d535a
    best one that works.
kusano 7d535a
kusano 7d535a
commit fe0d8dce1ed704915d501e7da700440c78144211
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Fri Sep 11 18:00:29 2009 +0100
kusano 7d535a
kusano 7d535a
    Darwin: handle overflows
kusano 7d535a
kusano 7d535a
commit f46716f42040986203fa6e873bfdabe1be2900ec
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Aug 27 21:14:54 2009 +0545
kusano 7d535a
kusano 7d535a
    v1.0.3 release
kusano 7d535a
kusano 7d535a
commit 5b489b8b2a5aba7b8b804e5af6d2628735548238
kusano 7d535a
Author: Toby Peterson <toby@macports.org>
kusano 7d535a
Date:   Sun Aug 23 10:04:59 2009 +0545
kusano 7d535a
kusano 7d535a
    Darwin: 64-bit type fixes
kusano 7d535a
kusano 7d535a
commit ad8ae04d0b52009af0b1180e005f7554d2bbb26c
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Sun Aug 23 10:02:55 2009 +0545
kusano 7d535a
kusano 7d535a
    Darwin: fix crash when reading descriptors after close
kusano 7d535a
    
kusano 7d535a
    Fix a crash which occurs if the user does the following sequence on a
kusano 7d535a
    device: open, close, get_configuration_descriptor.
kusano 7d535a
kusano 7d535a
commit 45ae2aecf5512dcff059b2a416534e81c6a00c88
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Aug 1 13:55:15 2009 +0545
kusano 7d535a
kusano 7d535a
    move bug info to bug tracker
kusano 7d535a
    
kusano 7d535a
    Protection needed: http://www.libusb.org/ticket/4
kusano 7d535a
    Losing data: fixed in previous commit
kusano 7d535a
kusano 7d535a
commit 126129e174062c2a27423817a459e5113f777789
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Jul 9 22:09:04 2009 +0100
kusano 7d535a
kusano 7d535a
    Linux: try harder not to lose any data
kusano 7d535a
    
kusano 7d535a
    We would previously lose any data that was present on a cancelled URB.
kusano 7d535a
    Work harder to make sure this doesn't happen.
kusano 7d535a
kusano 7d535a
commit 0334ee642b47dfe1ca9db64b22e7702ea14b3f09
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Jun 28 19:49:10 2009 +0100
kusano 7d535a
kusano 7d535a
    Add libusb_get_max_iso_packet_size()
kusano 7d535a
    
kusano 7d535a
    As pointed out by Dennis Muhlestein, libusb_get_max_packet_size()
kusano 7d535a
    doesn't really do what the documentation might suggest because it
kusano 7d535a
    does not consider the number of transaction opportunities per
kusano 7d535a
    microframe.
kusano 7d535a
    
kusano 7d535a
    Add a new function to do what is useful for isochronous I/O.
kusano 7d535a
kusano 7d535a
commit 615f18e64e96ae4ecc8e43d0de00933059a5209a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jun 20 22:33:21 2009 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix sending of zero length bulk packets
kusano 7d535a
    
kusano 7d535a
    Note that there are is a kernel bug preventing this from working
kusano 7d535a
    properly at the moment, even after this fix.
kusano 7d535a
kusano 7d535a
commit 86f79fbf61c2018bdf009c7ebf92b38f3a16fd0c
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Fri Jun 19 22:18:44 2009 +0100
kusano 7d535a
kusano 7d535a
    Darwin: Don't cancel transfers on timeout
kusano 7d535a
    
kusano 7d535a
    ...because the OS does this for us.
kusano 7d535a
kusano 7d535a
commit d4bd9ed4de19a9c766f7a23eea8c852cdd61c18f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Jun 14 19:23:21 2009 +0100
kusano 7d535a
kusano 7d535a
    Don't terminate enums with commas
kusano 7d535a
    
kusano 7d535a
    g++ -pedantic doesn't like this
kusano 7d535a
    Reported by Eberhard Mattes
kusano 7d535a
kusano 7d535a
commit 8be256082eb9bd8e243d89529f742926bb29a21b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jun 13 17:19:07 2009 +0100
kusano 7d535a
kusano 7d535a
    v1.0.2 release
kusano 7d535a
kusano 7d535a
commit 060e006e663fd59c281be29b71eb197e02b210e8
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Jun 10 21:42:05 2009 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix config descriptor parsing on big-endian systems
kusano 7d535a
    
kusano 7d535a
    Multi-byte fields in the configuration descriptors that come back from
kusano 7d535a
    usbfs are always in bus endian format.
kusano 7d535a
    
kusano 7d535a
    Thanks to Joe Jezak for help investigating and fixing this.
kusano 7d535a
kusano 7d535a
commit c4a905022f684da9a4a853eb9232a81a53df2652
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Sun Jun 7 22:29:35 2009 +0100
kusano 7d535a
kusano 7d535a
    Darwin: improve handling of disconnected devices
kusano 7d535a
kusano 7d535a
commit 6b69f54451762ef590b9c938ab000c07cf9099a3
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Sun Jun 7 22:26:37 2009 +0100
kusano 7d535a
kusano 7d535a
    Darwin: fix parsing of config descriptors
kusano 7d535a
    
kusano 7d535a
    This was a confusion between configuration numbers and zero-based
kusano 7d535a
    configuration indexes.
kusano 7d535a
kusano 7d535a
commit 2b3a9ffa776b383cb2dbc3c55e490e32e4c3c22b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Jun 7 22:19:53 2009 +0100
kusano 7d535a
kusano 7d535a
    Eliminate -Wsign-compare compiler warnings
kusano 7d535a
    
kusano 7d535a
    This was due to an API inconsistency which can be safely worked around.
kusano 7d535a
    Hopefully we'll remember to fix the API next time we come to break
kusano 7d535a
    things.
kusano 7d535a
kusano 7d535a
commit cad5cb55c37137e94e35c74fdabfe42a5cbd229b
kusano 7d535a
Author: David Moore <dcm@acm.org>
kusano 7d535a
Date:   Wed May 27 23:15:54 2009 -0700
kusano 7d535a
kusano 7d535a
    Make synchronous transfer APIs robust against signal interruption
kusano 7d535a
    
kusano 7d535a
    libusb_control_transfer and libusb_bulk_transfer are designed to be
kusano 7d535a
    synchronous such that control is not returned until the transfer
kusano 7d535a
    definitively succeeds or fails.  That assumption is violated if a signal
kusano 7d535a
    interrupts these functions because there is no way for the application
kusano 7d535a
    to continue waiting for the transfer without resubmitting it.  This
kusano 7d535a
    patch changes these synchronous APIs so they do not abort in the case of
kusano 7d535a
    a signal interruption.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: David Moore <dcm@acm.org>
kusano 7d535a
kusano 7d535a
commit b501795985a23109f176d296e7b544b4c6354528
kusano 7d535a
Author: Alex Vatchenko <alex@fabulatech.com>
kusano 7d535a
Date:   Thu May 28 15:58:50 2009 -0400
kusano 7d535a
kusano 7d535a
    pre-gcc-3.4 compatibility
kusano 7d535a
    
kusano 7d535a
    The -fvisibility and -Wno-pointer-sign options are not available on
kusano 7d535a
    old GCC versions.
kusano 7d535a
kusano 7d535a
commit 00bb2805e994887f0a754a825c3ce03d22393386
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue May 26 15:53:26 2009 -0400
kusano 7d535a
kusano 7d535a
    Fix memory leak in config descriptor parsing
kusano 7d535a
    
kusano 7d535a
    Pointed out by Martin Koegler.
kusano 7d535a
kusano 7d535a
commit 068ff5b8a83fec0a9a91c80535a25b89a9ae64e8
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue May 12 19:20:51 2009 -0400
kusano 7d535a
kusano 7d535a
    Update AUTHORS
kusano 7d535a
kusano 7d535a
commit aa24c04e4043e39674b59ff0d302b2365cd0078f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue May 12 19:03:37 2009 -0400
kusano 7d535a
kusano 7d535a
    v1.0.1 release
kusano 7d535a
kusano 7d535a
commit 44767677447fae4267131f99c591b14117486cac
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue May 12 19:01:44 2009 -0400
kusano 7d535a
kusano 7d535a
    Add BUGS file
kusano 7d535a
    
kusano 7d535a
    Probably missed a couple of outstanding issues
kusano 7d535a
kusano 7d535a
commit e0365a6f22e0e7f330ac931df031cf6f17f453d1
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Sun Mar 22 21:13:29 2009 -0400
kusano 7d535a
kusano 7d535a
    Darwin: get_config_descriptor bugfixes
kusano 7d535a
kusano 7d535a
commit 5fd0e8478240fece646a58a3c6114001a73be99f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Feb 25 12:33:33 2009 -0300
kusano 7d535a
kusano 7d535a
    Fix compilation of Darwin backend
kusano 7d535a
    
kusano 7d535a
    My fault. Reported by ihryamzik@gmail.com
kusano 7d535a
kusano 7d535a
commit b49f6bf5c910d0fd694ecf165d7927673707bff9
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 16 21:39:29 2009 -0300
kusano 7d535a
kusano 7d535a
    Darwin backend
kusano 7d535a
kusano 7d535a
commit d859158581e9a3250f36cdeeb8ea67cda04053bd
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 16 21:30:49 2009 -0300
kusano 7d535a
kusano 7d535a
    Make endianness macros endian-independent
kusano 7d535a
    
kusano 7d535a
    Implementation suggested by David Moore. Needed for proper universal
kusano 7d535a
    code support on Darwin.
kusano 7d535a
kusano 7d535a
commit 9196f58bdc8b9e967261df39865215faa5d39cfa
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 16 21:25:18 2009 -0300
kusano 7d535a
kusano 7d535a
    Abstract clock reading into OS layer
kusano 7d535a
    
kusano 7d535a
    This will differ on Linux and Darwin, at least.
kusano 7d535a
    
kusano 7d535a
    [dsd: minor style tweaks]
kusano 7d535a
kusano 7d535a
commit e91207860cac09b3afaafc4c14221b78d585c59a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Feb 16 21:20:28 2009 -0300
kusano 7d535a
kusano 7d535a
    Fix endianness in device descriptors
kusano 7d535a
    
kusano 7d535a
    Pointed out by Nathan Hjelm.
kusano 7d535a
kusano 7d535a
commit ccf6d3d2f6acf9b9a1cb5e1f1b03f382ae509b17
kusano 7d535a
Author: Nathan Hjelm <hjelmn@mac.com>
kusano 7d535a
Date:   Mon Feb 16 21:13:52 2009 -0300
kusano 7d535a
kusano 7d535a
    Only link with librt on Linux
kusano 7d535a
    
kusano 7d535a
    [dsd: tweak configure.ac change]
kusano 7d535a
kusano 7d535a
commit 894539931e4b4bd85708fe98b956049243cd6fb0
kusano 7d535a
Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
kusano 7d535a
Date:   Mon Jan 26 00:31:48 2009 +0100
kusano 7d535a
kusano 7d535a
    API docs: describe libusb_transfer_cb_fn type
kusano 7d535a
    
kusano 7d535a
    Add some text describing the libusb_transfer_cb_fn function type
kusano 7d535a
    with the semantics I have gathered from reading other parts of
kusano 7d535a
    the API docs, referring to the proper section for more details.
kusano 7d535a
    
kusano 7d535a
    [dsd: tweaked the description slightly]
kusano 7d535a
kusano 7d535a
commit abe34a2656f8f9f21e53603796c536585e6233ef
kusano 7d535a
Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
kusano 7d535a
Date:   Sun Jan 25 18:21:59 2009 +0100
kusano 7d535a
kusano 7d535a
    Make empty array in struct compatible with C99
kusano 7d535a
    
kusano 7d535a
    If the compiler is known to be running in C99 mode,
kusano 7d535a
    use "flexible array members" ("foo[]").
kusano 7d535a
    
kusano 7d535a
    If the compiler is running in any other mode, continue
kusano 7d535a
    using the non-standard but widely common "foo[0]" syntax.
kusano 7d535a
kusano 7d535a
commit 620075c7400764d9bb539b5c02065c45c2e8251e
kusano 7d535a
Author: Hans Ulrich Niedermann <hun@n-dimensional.de>
kusano 7d535a
Date:   Sun Jan 25 18:20:45 2009 +0100
kusano 7d535a
kusano 7d535a
    Avoid signedness errors in API docs example code
kusano 7d535a
kusano 7d535a
commit c754ae294cfe96ec4738d6641137c9e6c56330c7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 17 00:25:40 2009 +0000
kusano 7d535a
kusano 7d535a
    Decrement poll() result when internal pipe has been handled
kusano 7d535a
    
kusano 7d535a
    When we receive data on the internal control pipe, we need to correctly
kusano 7d535a
    decrement the number of ready file descriptors before passing on the
kusano 7d535a
    remaining work to the OS implementation.
kusano 7d535a
kusano 7d535a
commit b9ca960f2ba271d2b1a58e22b7c70464d69f6c8a
kusano 7d535a
Author: David Moore <dcm@acm.org>
kusano 7d535a
Date:   Sun Jan 11 21:46:17 2009 -0800
kusano 7d535a
kusano 7d535a
    Prevent transfer from being submitted twice or improperly canceled
kusano 7d535a
    
kusano 7d535a
    This ensures that tpriv->urbs and tpriv->iso_urbs are always set to NULL
kusano 7d535a
    whenever a transfer is not submitted.  In this way, submit_*_transfer()
kusano 7d535a
    and cancel_*_transfer() can error check to ensure that the transfer is
kusano 7d535a
    in the correct state to be either submitted or canceled, preventing
kusano 7d535a
    potential memory leaks or double frees.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: David Moore <dcm@acm.org>
kusano 7d535a
kusano 7d535a
commit d2a8ec2da8abcd8f4648ed118da16191011982dd
kusano 7d535a
Author: David Moore <dcm@acm.org>
kusano 7d535a
Date:   Wed Jan 7 22:31:09 2009 -0800
kusano 7d535a
kusano 7d535a
    Linux: Fix race condition in cancel_bulk_transfer()
kusano 7d535a
    
kusano 7d535a
    This fixes a race condition in cancel_bulk_transfer().  In the old
kusano 7d535a
    version, awaiting_reap and awaiting_discard are incremented in
kusano 7d535a
    cancel_bulk_transfer() and decremented in handle_bulk_completion().
kusano 7d535a
    However, since these events may take place in two different threads,
kusano 7d535a
    these variables may reach zero before all URBs have been canceled,
kusano 7d535a
    triggered spurious callbacks and duplicate frees.
kusano 7d535a
    
kusano 7d535a
    This changes the logic to use a single variable "num_retired" to replace
kusano 7d535a
    both awaiting_reap and awaiting_discard.  num_retired is incremented
kusano 7d535a
    only in handle_bulk_completion() and thus there is no race.  The handler
kusano 7d535a
    will know that all URBs have been canceled when num_retired becomes
kusano 7d535a
    equal to num_urbs.
kusano 7d535a
    
kusano 7d535a
    This change also simplifies a great deal of the logic in both functions
kusano 7d535a
    and is a net reduction in the amount of code.
kusano 7d535a
    
kusano 7d535a
    Note that some variables such as "reap_action" probably need to still be
kusano 7d535a
    protected by a mutex, and this patch does not address that issue.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: David Moore <dcm@acm.org>
kusano 7d535a
kusano 7d535a
commit 34b9eebe35d8167d43cffb6ad6175f6b2251b572
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Dec 13 20:06:49 2008 +0000
kusano 7d535a
kusano 7d535a
    v1.0.0 release
kusano 7d535a
    
kusano 7d535a
    It's here!
kusano 7d535a
kusano 7d535a
commit b1d636dde418dc8fe6a8f037dea0d800e57c6b94
kusano 7d535a
Author: Mikhail Gusarov <dottedmag@dottedmag.ent>
kusano 7d535a
Date:   Wed Dec 10 15:24:05 2008 +0600
kusano 7d535a
kusano 7d535a
    EOL-whitespace fixes
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
kusano 7d535a
kusano 7d535a
commit 4a9ac382ba5149ae5b3d0962d6a840b5e0dc13aa
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Dec 9 21:43:37 2008 +0000
kusano 7d535a
kusano 7d535a
    Linux: fix reading of active configuration
kusano 7d535a
    
kusano 7d535a
    Shannon Chuang pointed out that we only read 1 byte into an
kusano 7d535a
    uninitialized integer, and then return the whole thing.
kusano 7d535a
kusano 7d535a
commit 81a7310d92461ba7b1d98aeff7c4c007fab07120
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Dec 9 21:39:11 2008 +0000
kusano 7d535a
kusano 7d535a
    Fix double free in descriptor parsing error path
kusano 7d535a
    
kusano 7d535a
    Pointed out by Shannon Chuang.
kusano 7d535a
kusano 7d535a
commit 9b4b53453db56ba9c1d707a645bbe6c7a02a3c81
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Nov 21 13:28:32 2008 +0000
kusano 7d535a
kusano 7d535a
    Improvements to multi-threaded I/O system
kusano 7d535a
    
kusano 7d535a
    Documentation brushed up, and I realised that another function is
kusano 7d535a
    needed for tight event handling loops -- they must be able to check
kusano 7d535a
    if an open/close operation is trying to interrupt it.
kusano 7d535a
kusano 7d535a
commit 0e5b0fcb77a90b8bd95ad23669da472af31ef069
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Nov 21 11:00:47 2008 +0000
kusano 7d535a
kusano 7d535a
    SourceForge website upload system changed
kusano 7d535a
kusano 7d535a
commit a133875e6e2f52eff53ac03f505d59cbdd33e178
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Nov 21 10:54:57 2008 +0000
kusano 7d535a
kusano 7d535a
    v0.9.4 release
kusano 7d535a
kusano 7d535a
commit c32aa662769b676ff3247778664fccc71fc427ec
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Nov 20 15:31:10 2008 +0000
kusano 7d535a
kusano 7d535a
    Pause event handling while opening and closing devices
kusano 7d535a
    
kusano 7d535a
    Ludovic Rousseau found that crashes often occur if you close a device
kusano 7d535a
    while another thread is doing event handling.
kusano 7d535a
    
kusano 7d535a
    Fix this by adding an internal control pipe, which the close routines
kusano 7d535a
    use to interrupt the event handler and obtain the event handling lock,
kusano 7d535a
    ensuring that no other thread is handling events while the device is
kusano 7d535a
    closed. After the close completes, it signals all the event handlers
kusano 7d535a
    to start up again using the usual mechanism.
kusano 7d535a
    
kusano 7d535a
    Also modified libusb_open() to do a similar thing, so that event
kusano 7d535a
    handlers are interrupted in order to realise that a new poll fd has
kusano 7d535a
    appeared.
kusano 7d535a
kusano 7d535a
commit 1d7cf3d0fa8698eae25097cbda1870be90ff6f5e
kusano 7d535a
Author: Bastien Nocera <hadess@hadess.net>
kusano 7d535a
Date:   Thu Oct 30 14:35:23 2008 +0000
kusano 7d535a
kusano 7d535a
    Add libusb_attach_kernel_driver()
kusano 7d535a
    
kusano 7d535a
    Add support for re-attaching a driver to a device under Linux.
kusano 7d535a
    
kusano 7d535a
    [dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
kusano 7d535a
kusano 7d535a
commit 914a4e70657c86b5094770aa2d898c978b1cdf41
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Nov 2 21:45:54 2008 +0000
kusano 7d535a
kusano 7d535a
    Linux: handle low-level transfer errors
kusano 7d535a
    
kusano 7d535a
    Handle more URB error status codes, thanks to Lou and Alan Stern.
kusano 7d535a
kusano 7d535a
commit d25b566b3b8febafdda4211de724b4727dd4b7e0
kusano 7d535a
Author: Aurelien Jarno <aurelien@aurel32.net>
kusano 7d535a
Date:   Thu Sep 4 13:50:49 2008 +0200
kusano 7d535a
kusano 7d535a
    Support for out-of-tree building
kusano 7d535a
    
kusano 7d535a
    Contrary to libusb 0.1, libusb 1.0 does not support out-of-tree building
kusano 7d535a
    for the documentation part. This patch fixes that by using a
kusano 7d535a
    doxygen.cfg.in file, which contains @top_srcdir@ to refer to the
kusano 7d535a
    location of the libusb source code.
kusano 7d535a
kusano 7d535a
commit 8674c67ef78e1cf89db1fa584a4304f7c5ddcc5f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Nov 2 15:00:39 2008 +0000
kusano 7d535a
kusano 7d535a
    Document the logging style
kusano 7d535a
    
kusano 7d535a
    Suggested by Lou.
kusano 7d535a
kusano 7d535a
commit 94936cbcfe3f02eb65c8b91e29896604316259d8
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Aug 27 22:44:24 2008 -0500
kusano 7d535a
kusano 7d535a
    Async I/O documentation touchups
kusano 7d535a
kusano 7d535a
commit 2f8f1b1a900f5b9828e5e2ff93c2b26a44fd9de2
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Aug 27 21:23:10 2008 -0500
kusano 7d535a
kusano 7d535a
    Doc: fix typo in events lock section
kusano 7d535a
kusano 7d535a
commit 046e681e4ac6b697e40458ee0f5baf3cd8763bb0
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Aug 23 01:00:21 2008 -0500
kusano 7d535a
kusano 7d535a
    v0.9.3 release
kusano 7d535a
kusano 7d535a
commit fec6eaa4eecdf7e0b8299157a5dabef94417f193
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Aug 23 00:57:44 2008 -0500
kusano 7d535a
kusano 7d535a
    Reset internal transfer flags on submit
kusano 7d535a
    
kusano 7d535a
    This fixes a problem pointed out by Lou, where resubmitting a transfer
kusano 7d535a
    that previously timed out never timed out again, as if the timeout had
kusano 7d535a
    been set to 0.
kusano 7d535a
kusano 7d535a
commit 81627bd38900ec9701ab69c141aa51a9abea1f60
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Aug 10 17:09:48 2008 -0500
kusano 7d535a
kusano 7d535a
    Add libusb_get_configuration prototype
kusano 7d535a
    
kusano 7d535a
    Pointed out by Lou
kusano 7d535a
kusano 7d535a
commit 1631eaefcc7cdf7047c6b9225618a9aa1b3d87d1
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jul 19 17:51:28 2008 -0500
kusano 7d535a
kusano 7d535a
    v0.9.2 release
kusano 7d535a
kusano 7d535a
commit 0d9c40d7f3eee15ada624b5caab2cfb912144fdc
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Jul 16 09:22:12 2008 -0500
kusano 7d535a
kusano 7d535a
    Linux: fix sysfs directory handling
kusano 7d535a
    
kusano 7d535a
    The length of the directory name varies, e.g. when you have nested hubs.
kusano 7d535a
    Use dynamic allocation to be able to deal with any length of name.
kusano 7d535a
kusano 7d535a
commit 66c9847ad54b126ccafd4877292454ab57d0c115
kusano 7d535a
Author: David Engraf <dogge2k@gmx.de>
kusano 7d535a
Date:   Wed Jul 16 09:16:38 2008 -0500
kusano 7d535a
kusano 7d535a
    Linux: correct usage of MAX_PATH
kusano 7d535a
    
kusano 7d535a
    Thanks to clarification from Artem Egorkine, MAX_PATH already includes
kusano 7d535a
    space for the trailing NULL.
kusano 7d535a
kusano 7d535a
commit 6494f07a6d1b73ce786ae581c4ff691e39e61d19
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Jul 8 21:15:54 2008 -0500
kusano 7d535a
kusano 7d535a
    Linux: fix bulk/iso transfer double-cancellation
kusano 7d535a
    
kusano 7d535a
    Reset counters to 0 so that it's possible to cancel a transfer twice
kusano 7d535a
    without breaking things. Not sure that I want to support this properly,
kusano 7d535a
    but this makes it work at least.
kusano 7d535a
kusano 7d535a
commit 9140f5b414e37a3714cde9c6d6c87c963338a83a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jun 28 21:28:44 2008 -0500
kusano 7d535a
kusano 7d535a
    v0.9.1 release
kusano 7d535a
kusano 7d535a
commit 83a029062c1d2bfb584d7a6ee94915583d37464c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jun 28 21:24:49 2008 -0500
kusano 7d535a
kusano 7d535a
    Add missing GET_CONTEXT()
kusano 7d535a
kusano 7d535a
commit fbad9a5426f0369394c88987355a8fb06a741ca1
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jun 28 21:18:41 2008 -0500
kusano 7d535a
kusano 7d535a
    Linux: Compatibility with new sysfs descriptors file
kusano 7d535a
    
kusano 7d535a
    As of 2.6.26, the descriptors file now includes all descriptors, not
kusano 7d535a
    just the active one.
kusano 7d535a
kusano 7d535a
commit 819e65f880ca43526036e56c65c415042c91f58f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Jun 26 22:47:05 2008 -0500
kusano 7d535a
kusano 7d535a
    Allow user data pointer to be passed through pollfd notification API
kusano 7d535a
kusano 7d535a
commit 1df713d622ab4f0b03aad72d903ac7beb8fb3b90
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Jun 24 23:01:51 2008 -0500
kusano 7d535a
kusano 7d535a
    Introduce contexts to the API
kusano 7d535a
    
kusano 7d535a
    Suggested by David Zeuthen. This allows multiple libraries in the same
kusano 7d535a
    process to independently use libusb without interfering.
kusano 7d535a
kusano 7d535a
commit 9818151c60a85aea6af24cb0996a92c3726c9864
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Jun 24 21:31:13 2008 -0500
kusano 7d535a
kusano 7d535a
    Revert "Temporary workaround for event handling serialization issue"
kusano 7d535a
    
kusano 7d535a
    This reverts commit 2d3a1111caff40ebb87983c861ff548cdc9e5946.
kusano 7d535a
    This was based on the assumption that dying threads would automatically
kusano 7d535a
    release mutexes, which is not the case.
kusano 7d535a
kusano 7d535a
commit d5f82893fab3f1c13b1af4ba17aac72479bad7d5
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jun 20 23:04:53 2008 -0500
kusano 7d535a
kusano 7d535a
    Overflow handling
kusano 7d535a
kusano 7d535a
commit 546dee211eefbdd280fd1fc9dee84a9b52105078
kusano 7d535a
Author: Artem Egorkine <arteme@gmail.com>
kusano 7d535a
Date:   Tue Jun 17 18:27:38 2008 -0500
kusano 7d535a
kusano 7d535a
    a fix for SIGSEGV in handle_bulk_completion()
kusano 7d535a
    
kusano 7d535a
    We cannot dereference tpriv after calling
kusano 7d535a
    usbi_handle_transfer_cancellation() because that function may invoke
kusano 7d535a
    the user-supplied callback which may free the transfer.
kusano 7d535a
kusano 7d535a
commit 947ba8056456a5215724fb502e3e09d50016f699
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Jun 16 22:50:50 2008 -0500
kusano 7d535a
kusano 7d535a
    Refine configuration selection again
kusano 7d535a
    
kusano 7d535a
    At Alan Stern's suggestion, just offer the bare "set configuration" and
kusano 7d535a
    "get configuration" functionality, and let applications worry about the
kusano 7d535a
    specific race conditions and unusual situations.
kusano 7d535a
kusano 7d535a
commit e7a7a49d0331ee0e14145f6e7ec39763b36314ac
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Jun 15 15:29:38 2008 -0500
kusano 7d535a
kusano 7d535a
    docs update
kusano 7d535a
    
kusano 7d535a
    Add a THANKS file, make copyright notices easily accessible, update TODO
kusano 7d535a
kusano 7d535a
commit 217534e4b396081e038ee5f94c813d1668963673
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Jun 15 15:23:29 2008 -0500
kusano 7d535a
kusano 7d535a
    round up poll timeout
kusano 7d535a
    
kusano 7d535a
    Pointed out by Richard Röjfors, otherwise we end up busy-looping with
kusano 7d535a
    a poll() timeout of 0.
kusano 7d535a
kusano 7d535a
commit 5ad79b324bc5e11a75a585398a1e81c26f05e758
kusano 7d535a
Author: Felipe Balbi <me@felipebalbi.com>
kusano 7d535a
Date:   Sun Jun 8 12:34:48 2008 +0300
kusano 7d535a
kusano 7d535a
    fix doc about libusb_open()
kusano 7d535a
    
kusano 7d535a
    libusb_open() returns int instead of libusb_device_handle.
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Felipe Balbi <me@felipebalbi.com>
kusano 7d535a
    [dsd: small correction]
kusano 7d535a
kusano 7d535a
commit 2d3a1111caff40ebb87983c861ff548cdc9e5946
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu May 29 17:26:26 2008 +0100
kusano 7d535a
kusano 7d535a
    Temporary workaround for event handling serialization issue
kusano 7d535a
    
kusano 7d535a
    Ludovic Rousseau pointed out that libusb_unlock_events() is not called
kusano 7d535a
    when a thread gets terminated with a signal, meaning that event waiters
kusano 7d535a
    will not be woken up in this case.
kusano 7d535a
    
kusano 7d535a
    Add a temporary hack to libusb_event_handler_active() so that at least
kusano 7d535a
    the other threads will realise on the next iteration of their event
kusano 7d535a
    handling loop.
kusano 7d535a
    
kusano 7d535a
    The real fix will likely involve reworking most of this.
kusano 7d535a
kusano 7d535a
commit 514bb8790cfe8b93ccfff82bc17081b1030acce0
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu May 29 12:35:01 2008 +0100
kusano 7d535a
kusano 7d535a
    Refine libusb_set_configuration() semantics
kusano 7d535a
    
kusano 7d535a
    Applications will generally want to set a configuration before claiming
kusano 7d535a
    interfaces. The problem is that the interface may already be set, and
kusano 7d535a
    someone else may have claimed an interface (meaning that all calls to
kusano 7d535a
    set_configuration will fail, even if it's for the same configuration).
kusano 7d535a
    
kusano 7d535a
    There are now 2 options:
kusano 7d535a
    1. Use the new libusb_get_configuration() to determine active
kusano 7d535a
       configuration before calling libusb_set_configuration()
kusano 7d535a
    2. Or just call libusb_set_configuration() as usual, which will do
kusano 7d535a
       nothing if that configuration is already active.
kusano 7d535a
kusano 7d535a
commit d1292f8e7300051239a7ed2769d221dc7a6f9fca
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 25 23:42:42 2008 +0100
kusano 7d535a
kusano 7d535a
    v0.9.0 release
kusano 7d535a
    
kusano 7d535a
    First libusb-1.0 beta release
kusano 7d535a
kusano 7d535a
commit 4cd249388e4ed2ca03f1263984ab67df5030bb65
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 25 22:59:09 2008 +0100
kusano 7d535a
kusano 7d535a
    Take lock before raising event waiters condition
kusano 7d535a
    
kusano 7d535a
    This avoids a race between the user checking for active event handler
kusano 7d535a
    and then blocking on the condition variable
kusano 7d535a
kusano 7d535a
commit 7c525480ab3c4db9205bfe30bb0d2bef9096c444
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 23 15:57:07 2008 +0100
kusano 7d535a
kusano 7d535a
    Implement serialization of event handlers
kusano 7d535a
    
kusano 7d535a
    Now offers a mechanism to wait for events while another thread is
kusano 7d535a
    doing the event handling. Complicates things for MT async apps, but
kusano 7d535a
    then again it's a bit of a tricky combination to start with.
kusano 7d535a
kusano 7d535a
commit ff0660a415ecfd0879600eaad1c5899b6d93a30a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 24 21:28:31 2008 +0100
kusano 7d535a
kusano 7d535a
    allow LIBUSB_DEBUG env var to control message verbosity at runtime
kusano 7d535a
    
kusano 7d535a
    Based on ideas from Ludovic Rousseau
kusano 7d535a
kusano 7d535a
commit 4d788967e3f8d75eaf3a1ac1ee8e2e8bed0601c1
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 23 15:58:11 2008 +0100
kusano 7d535a
kusano 7d535a
    don't print messages by default
kusano 7d535a
    
kusano 7d535a
    Add libusb_set_debug() API to set message verbosity.
kusano 7d535a
    
kusano 7d535a
    Ludovic Rousseau pointed out that applications may close stdout/stderr
kusano 7d535a
    descriptors, which might then be reused.
kusano 7d535a
kusano 7d535a
commit bef33bb9eba0da04ee7488d9cd5e6ab12bc61c0c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 19 15:43:27 2008 +0100
kusano 7d535a
kusano 7d535a
    Fix memory leak in libusb_control_transfer
kusano 7d535a
    
kusano 7d535a
    Pointed out by David Engraf: we weren't freeing the transfer buffer
kusano 7d535a
kusano 7d535a
commit a345bacb6f07ebb2122402041a9e8092d4a20a4d
kusano 7d535a
Author: David Engraf <david.engraf@netcom.eu>
kusano 7d535a
Date:   Mon May 19 15:16:32 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix handling of ioctl failure
kusano 7d535a
    
kusano 7d535a
    The return value of some ioctl commands in linux_usbfs.c are not
kusano 7d535a
    handeled correct. The ioctl function returns != 0 and errno is set with
kusano 7d535a
    the error code.
kusano 7d535a
kusano 7d535a
commit e44396a458ecea9e5edd9a7577e617571c76860d
kusano 7d535a
Author: David Engraf <david.engraf@netcom.eu>
kusano 7d535a
Date:   Mon May 19 15:13:38 2008 +0100
kusano 7d535a
kusano 7d535a
    critical memory leak in handle_events
kusano 7d535a
    
kusano 7d535a
    This patch closes a critical memory leak in handle_events. The fds
kusano 7d535a
    variable is malloced but never freed. When I'm calling
kusano 7d535a
    handle_events with a timeout of 0, my system runs out of memory after a
kusano 7d535a
    few seconds.
kusano 7d535a
kusano 7d535a
commit eb25630f52bc9848b444e439632c899977d887b0
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 16 23:50:20 2008 +0100
kusano 7d535a
kusano 7d535a
    More informative libusb_open() return code
kusano 7d535a
    
kusano 7d535a
    Hopefully one of the last API tweaks...
kusano 7d535a
kusano 7d535a
commit 2b2e9c40b195261b09ac52ebdb93eef25c79de90
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 16 22:37:56 2008 +0100
kusano 7d535a
kusano 7d535a
    Fix endianness with descriptor handling
kusano 7d535a
    
kusano 7d535a
    Alan Stern pointed out that usbfs gives host-endian data, but sysfs gives
kusano 7d535a
    bus-endian.
kusano 7d535a
kusano 7d535a
commit 1298c51f516a7bf04ca9add1b7db14417cdc66f3
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 12 18:46:37 2008 +0100
kusano 7d535a
kusano 7d535a
    Backend documentation for porting efforts
kusano 7d535a
    
kusano 7d535a
    Hopefully comprehensive enough for people to get started.
kusano 7d535a
kusano 7d535a
commit ade26afc42c34ceb1c45afcadd2ea5e8240eaca4
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 12 15:43:30 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix caching of guessed configuration
kusano 7d535a
    
kusano 7d535a
    Reported and tested by Xiaofan Chen
kusano 7d535a
kusano 7d535a
commit e25d590a9198995b4f0b6afeb41ecae318715e7e
kusano 7d535a
Author: Rob Walker <rob@tenfoot.org.uk>
kusano 7d535a
Date:   Sun May 11 21:14:18 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix bulk transfer early completion
kusano 7d535a
    
kusano 7d535a
    We were forgetting about the remaining urbs when a non-final urb
kusano 7d535a
    completed early.
kusano 7d535a
    
kusano 7d535a
    [dsd: some touchups and a warning message for a corner case that we don't handle]
kusano 7d535a
kusano 7d535a
commit fec7c84163e25b8f811632828334d75da82bcb16
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 11 20:31:58 2008 +0100
kusano 7d535a
kusano 7d535a
    Handle hot-unplugging
kusano 7d535a
    
kusano 7d535a
    This involved moving from select() to poll() because there is no way to
kusano 7d535a
    distinguish usbfs's POLLERR condition with select().
kusano 7d535a
kusano 7d535a
commit aeb905fa5d78cdbba80a680aa7a2bb7338f27f65
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 11 16:04:35 2008 +0100
kusano 7d535a
kusano 7d535a
    Documentation work
kusano 7d535a
kusano 7d535a
commit ba5d9a45c06311204f51faef41d1ee215bb5b823
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 11 15:36:24 2008 +0100
kusano 7d535a
kusano 7d535a
    Endianness of control setup packets
kusano 7d535a
    
kusano 7d535a
    Document behaviour where host-endian and bus-endian (little) should be
kusano 7d535a
    used respectively.
kusano 7d535a
    
kusano 7d535a
    Also remove packed attribute from libusb_control_setup as all fields
kusano 7d535a
    are naturally aligned.
kusano 7d535a
kusano 7d535a
commit 7bedc3b2683f35ee1dd39a2ebe0ec05be0019f38
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 11 15:11:59 2008 +0100
kusano 7d535a
kusano 7d535a
    Document that releasing interface causes SET_INTERFACE control request
kusano 7d535a
kusano 7d535a
commit f2ede9876cd4f5cfa7751b975670fa449187fe3d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 10 21:45:42 2008 +0100
kusano 7d535a
kusano 7d535a
    Support unconfigured devices
kusano 7d535a
kusano 7d535a
commit 8ebb4ccdfaf5f095a1c38787d909d280ea64405c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 10 20:56:44 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix caching of active configuration for non-sysfs
kusano 7d535a
kusano 7d535a
commit c3844f7aeb2176636ce6e6ef697659fdb0b30048
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 10 14:42:43 2008 +0100
kusano 7d535a
kusano 7d535a
    Fetch configurations by index (not value)
kusano 7d535a
    
kusano 7d535a
    Otherwise there is no way to know which values to look for.
kusano 7d535a
kusano 7d535a
commit d77052c0d630e33737c38d601fd633155f6b2229
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 10 00:12:53 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: comprehensive sysfs vs usbfs access
kusano 7d535a
    
kusano 7d535a
    Be more flexible when certain parts of sysfs are not available.
kusano 7d535a
kusano 7d535a
commit 74bc842bac1a32a26323da6c3e8af2f66e1b5cfa
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 9 19:38:13 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: no need to store usbfs node path
kusano 7d535a
    
kusano 7d535a
    This can be computed from bus number and device address
kusano 7d535a
kusano 7d535a
commit fe4adcc99e30115204ab832ad3e0170c9aca7629
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 9 14:34:31 2008 +0100
kusano 7d535a
kusano 7d535a
    Rework configuration handling
kusano 7d535a
    
kusano 7d535a
    libusb no longer caches descriptors in libusb_device but backends are
kusano 7d535a
    intended to be able to provide copies from memory. In the common linux
kusano 7d535a
    case we can use sysfs.
kusano 7d535a
kusano 7d535a
commit 5741bfe01a2481b8c3830c80edc3637bf62a7e16
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 9 14:36:14 2008 +0100
kusano 7d535a
kusano 7d535a
    libusb_get_device_list() can return negative error code
kusano 7d535a
kusano 7d535a
commit 45413101b78298e9332b22a34bc6bc159000ad8a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu May 8 23:09:21 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix clear_halt implementation
kusano 7d535a
    
kusano 7d535a
    The ioctl expects an integer.
kusano 7d535a
    Bug found with the assistance of Soumen Mondal
kusano 7d535a
kusano 7d535a
commit 10d4e427cc171dfd6ad7f43a33ce3cfebcd7aa04
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu May 8 23:04:52 2008 +0100
kusano 7d535a
kusano 7d535a
    Documentation work
kusano 7d535a
    
kusano 7d535a
    Partially based on some libusb-devel discussions
kusano 7d535a
kusano 7d535a
commit ded0a249322571a075e3ed3528021864247dfa55
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 22:57:48 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: enumerate devices and descriptors from sysfs
kusano 7d535a
    
kusano 7d535a
    Suggested by Alan Stern. This avoids waking up any suspended USB devices.
kusano 7d535a
    sysfs is not available on all systems, so the usbfs mechanism is still
kusano 7d535a
    in place as a fallback.
kusano 7d535a
kusano 7d535a
commit 885c2a5de69d6b7d8902bb55d6d83680a5a1a6e5
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 21:34:31 2008 +0100
kusano 7d535a
kusano 7d535a
    documentation touchups
kusano 7d535a
kusano 7d535a
commit 59c205d542b43d79fe28622dbe8f03a3a3300b6f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 21:17:03 2008 +0100
kusano 7d535a
kusano 7d535a
    more error code sanitization
kusano 7d535a
kusano 7d535a
commit 88055d4b5913102a90ff666f75fd922c74860dc5
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 20:57:43 2008 +0100
kusano 7d535a
kusano 7d535a
    Isochronous transfer helper functions
kusano 7d535a
kusano 7d535a
commit a95c943ed301dcd20e92b0b3b255568899a4c42e
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 17:54:33 2008 +0100
kusano 7d535a
kusano 7d535a
    free open devices on exit
kusano 7d535a
kusano 7d535a
commit b27fff633843824744df7d334cb89ece329cafa6
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 17:47:49 2008 +0100
kusano 7d535a
kusano 7d535a
    move descriptor parsing into main library
kusano 7d535a
    
kusano 7d535a
    OS modules now provide functionality for fetching device/config
kusano 7d535a
    descriptors
kusano 7d535a
kusano 7d535a
commit a304eca71f22c6df7d70a901483b30f1b8e93378
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 16:22:33 2008 +0100
kusano 7d535a
kusano 7d535a
    Detect endpoint halts and unsupported control requests
kusano 7d535a
kusano 7d535a
commit 7da521954ba661d3f537440c31a84b66e974d56b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon May 5 01:00:31 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix logical URB allocation
kusano 7d535a
    
kusano 7d535a
    We were allocating the wrong number of URBs for transfers of size
kusano 7d535a
    multiples of 16k.
kusano 7d535a
kusano 7d535a
commit 470b1bc42bf53373ce678fc76bab9160a54d6881
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 16:51:23 2008 +0100
kusano 7d535a
kusano 7d535a
    add functionality for querying and detaching kernel driver
kusano 7d535a
kusano 7d535a
commit 17ecfb0ecc833596c43755c80d461cddb9b3b0d7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 16:20:46 2008 +0100
kusano 7d535a
kusano 7d535a
    Descriptor reading functionality
kusano 7d535a
kusano 7d535a
commit bdce367d1bd8691465844b2411c85215498f517d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 14:22:16 2008 +0100
kusano 7d535a
kusano 7d535a
    sanitized error returns from synchronous I/O functions
kusano 7d535a
kusano 7d535a
commit bfe74e9cd9c17a40fff042ea0647326f51cfecae
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 14:10:19 2008 +0100
kusano 7d535a
kusano 7d535a
    implement libusb_reset_device()
kusano 7d535a
kusano 7d535a
commit c01f744ce07bbeccbe353e956479f0cc5a811a6f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 13:46:41 2008 +0100
kusano 7d535a
kusano 7d535a
    Add functionality to clear endpoint halt conditions
kusano 7d535a
kusano 7d535a
commit 5878daa85e3364bb3885190425d4f9deaa2d8c36
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun May 4 00:51:59 2008 +0100
kusano 7d535a
kusano 7d535a
    Fix libusb_get_device_list return value
kusano 7d535a
    
kusano 7d535a
    It was documented to return the list length, but was returning 0.
kusano 7d535a
kusano 7d535a
commit a74106a9b48b88bae0e099be34a18d653a8f1238
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 16:50:58 2008 +0100
kusano 7d535a
kusano 7d535a
    Well-defined error codes for some operations
kusano 7d535a
    
kusano 7d535a
    Also renamed set_interface_altsetting to set_interface_alt_setting for
kusano 7d535a
    better consistency
kusano 7d535a
kusano 7d535a
commit 0f463fe671455670efcf4a93e526b2a9082b0afe
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 16:24:11 2008 +0100
kusano 7d535a
kusano 7d535a
    Add libusb_set_configuration()
kusano 7d535a
kusano 7d535a
commit e65608994f795f97e4d6adac20329ca08709db2d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 15:40:23 2008 +0100
kusano 7d535a
kusano 7d535a
    rename LIBUSB_ERROR_NOMEM to LIBUSB_ERROR_NO_MEM
kusano 7d535a
    improves consistency
kusano 7d535a
kusano 7d535a
commit 5384bbf300779e7936eac9ebd33ee38f5b533f8e
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 14:34:54 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: better EACCES handling
kusano 7d535a
kusano 7d535a
commit 1936eeeba3f933a078df1005cc7c1533a8ec2bac
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 14:26:56 2008 +0100
kusano 7d535a
kusano 7d535a
    Rename reference counting API
kusano 7d535a
    
kusano 7d535a
    This improves consistency with the naming style of other functions
kusano 7d535a
kusano 7d535a
commit e2f822b4f17342f614ab2455179a80975fca6cb0
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat May 3 14:24:40 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: use read-only access to enumerate devices and descriptors
kusano 7d535a
    
kusano 7d535a
    Write access is not needed until later.
kusano 7d535a
    Also fix handling of open() error code.
kusano 7d535a
kusano 7d535a
commit 81204eed3d0a7744b89b68bd90d567b68d191a91
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 17:45:23 2008 +0100
kusano 7d535a
kusano 7d535a
    document pollfd notifiers
kusano 7d535a
kusano 7d535a
commit e20f8281fb7da32587f81b5eea5818af1eab0fe0
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 17:33:52 2008 +0100
kusano 7d535a
kusano 7d535a
    Allow multiple interfaces to be claimed
kusano 7d535a
kusano 7d535a
commit 66685ff25d81a1f1a2a3dbda882d407638d00672
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 16:55:36 2008 +0100
kusano 7d535a
kusano 7d535a
    Documentation improvements
kusano 7d535a
kusano 7d535a
commit 55bce39cbe0c9746a428b66751d1afe551d86381
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 12:55:34 2008 +0100
kusano 7d535a
kusano 7d535a
    detect short descriptor reads
kusano 7d535a
kusano 7d535a
commit f3f17846dcced6b2dc40f899ed6a2aba151c264b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 12:32:46 2008 +0100
kusano 7d535a
kusano 7d535a
    remove "references" and "referenced by" listings in documentation
kusano 7d535a
kusano 7d535a
commit fbb017dd9a26ce449578482b95157b3c850fa446
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 12:32:08 2008 +0100
kusano 7d535a
kusano 7d535a
    Use typedef ptr types in parameters and return types
kusano 7d535a
    
kusano 7d535a
    This is passed through to the docs
kusano 7d535a
kusano 7d535a
commit 3675e978fb7a1042f8601931255658bcd14a2298
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri May 2 12:28:31 2008 +0100
kusano 7d535a
kusano 7d535a
    Expose bus number and device address
kusano 7d535a
kusano 7d535a
commit 2012898ffc492317cb428d97077bf5ee0e98e1da
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Apr 29 15:26:46 2008 +0100
kusano 7d535a
kusano 7d535a
    standardised error codes
kusano 7d535a
kusano 7d535a
commit 0269c75ae3de7acb2dc555e45928750e35fdb320
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Apr 29 13:34:26 2008 +0100
kusano 7d535a
kusano 7d535a
    Fix descriptor handling memory leaks
kusano 7d535a
kusano 7d535a
commit d3ab4e3bd4068cba41c1e12c4b175018dc3cb343
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 23:50:01 2008 +0100
kusano 7d535a
kusano 7d535a
    Rename endpoint_type to transfer_type
kusano 7d535a
    
kusano 7d535a
    Matches the USB specs more closely
kusano 7d535a
kusano 7d535a
commit 379e90e0fdcef6f4db1849fa0a7fd524407cf564
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 23:41:24 2008 +0100
kusano 7d535a
kusano 7d535a
    Remove a FIXME comment
kusano 7d535a
    
kusano 7d535a
    it can't.
kusano 7d535a
kusano 7d535a
commit 2ddf81420557d016bbcbf28dda0d8d1c64d16264
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 23:30:34 2008 +0100
kusano 7d535a
kusano 7d535a
    Fix unlocked flying_transfers list access
kusano 7d535a
kusano 7d535a
commit 7ac0a405b4c57db42e88cbcba5f135697f03b646
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 23:27:04 2008 +0100
kusano 7d535a
kusano 7d535a
    Remove libusb_cancel_transfer_sync
kusano 7d535a
    
kusano 7d535a
    This wasn't a particularly nice API. Cancellation should be handled by
kusano 7d535a
    the completion handler.
kusano 7d535a
kusano 7d535a
commit a5006fd7b9dae6f1db7969c8744086ba3a7c027b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 19:56:02 2008 +0100
kusano 7d535a
kusano 7d535a
    remove extra timeout check
kusano 7d535a
    
kusano 7d535a
    If select() didn't timeout then don't check for more timeouts
kusano 7d535a
kusano 7d535a
commit 3bdafaa359d9c65e1af360b5338e1f25528a8066
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Apr 27 19:53:51 2008 +0100
kusano 7d535a
kusano 7d535a
    Documentation touchups
kusano 7d535a
    
kusano 7d535a
    Detail that interrupt polling interval is fixed to endpoint bInterval,
kusano 7d535a
    and that data may be transferred even on a timeout condition.
kusano 7d535a
kusano 7d535a
commit e12618c79d520955b1abf80a277e881d91907162
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Apr 19 16:17:53 2008 +0100
kusano 7d535a
kusano 7d535a
    add threaded example program
kusano 7d535a
kusano 7d535a
commit 1fcdb0678b759569db7cd530457dbc0a5f86fb1d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Apr 18 23:58:54 2008 +0100
kusano 7d535a
kusano 7d535a
    libusb_device mutex protection
kusano 7d535a
kusano 7d535a
commit 0efd2efa65d5513e5754d717d522b2c5c45332e2
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Apr 18 23:42:40 2008 +0100
kusano 7d535a
kusano 7d535a
    mutex protection for device and handle lists
kusano 7d535a
kusano 7d535a
commit d2ff2b14a15e5099ff0214502944de30f141a39c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Apr 18 20:00:31 2008 +0100
kusano 7d535a
kusano 7d535a
    lock flying_transfers during transfer removal
kusano 7d535a
kusano 7d535a
commit 2569980762cb66804da31e54bef243702da8dfe9
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Apr 18 19:59:56 2008 +0100
kusano 7d535a
kusano 7d535a
    pollfds mutex protection
kusano 7d535a
kusano 7d535a
commit f5a33e08ec0da51ccb5e95a5adec50c5211a9bf5
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Apr 17 18:24:54 2008 +0100
kusano 7d535a
kusano 7d535a
    flying_transfers mutex protection
kusano 7d535a
    
kusano 7d535a
    This marks the beginnings of thread safety
kusano 7d535a
kusano 7d535a
commit 85e1994123545125ce0653415d122f9790f8d041
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Apr 17 17:44:28 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fix control transfer cancellation
kusano 7d535a
kusano 7d535a
commit cf9b831f7bfd97ba88721c1d934aeda522f3692c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Apr 14 20:03:27 2008 +0100
kusano 7d535a
kusano 7d535a
    set correct endpoint type for isochronous transfers
kusano 7d535a
    
kusano 7d535a
    Pointed out by Felix Domke
kusano 7d535a
kusano 7d535a
commit ad6e2b712c5b54af44424e58a2776686314e26b7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Apr 11 21:40:07 2008 +0100
kusano 7d535a
kusano 7d535a
    Linux: fire multiple URBs at once for split transfers
kusano 7d535a
    
kusano 7d535a
    This results in a significant performance increase for bulk transfers
kusano 7d535a
    larger than 16kb, and fixes a bug where data would be spliced and mixed
kusano 7d535a
    between two simultaneously submitted transfers to the same endpoint.
kusano 7d535a
    
kusano 7d535a
    It also allows isochronous transfers larger than 16kb to be submitted.
kusano 7d535a
    
kusano 7d535a
    This commit also improves cancellation - the library now understands
kusano 7d535a
    what is going on.
kusano 7d535a
kusano 7d535a
commit d9b2ce2894ed43d34de6850f2dac50ccabf1db55
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Apr 1 23:28:32 2008 +0100
kusano 7d535a
kusano 7d535a
    Constify some return data
kusano 7d535a
    
kusano 7d535a
    Make it clear that apps should not mess with these structures
kusano 7d535a
kusano 7d535a
commit 8d809854e2b19c2b7c27ab05e5d76b34e2a5cead
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 30 22:19:00 2008 +0100
kusano 7d535a
kusano 7d535a
    Rename libusb_poll() to libusb_handle_events()
kusano 7d535a
kusano 7d535a
commit 211f80c9f2a4a58cd2bbf5b7751f45089c8961e7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Mar 25 16:24:30 2008 +0000
kusano 7d535a
kusano 7d535a
    Isochronous endpoint I/O
kusano 7d535a
    
kusano 7d535a
    Due to variable-sized structures, this involved changing allocation
kusano 7d535a
    mechanism. All transfers must now be allocated and freed through
kusano 7d535a
    libusb.
kusano 7d535a
    
kusano 7d535a
    A synchronous function is missing, and I could do with writing a few
kusano 7d535a
    more helper functions to simplify things.
kusano 7d535a
kusano 7d535a
commit b1ade6fca668d8aa156d5b5bf3a933f116144dc2
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 23 21:17:32 2008 +0000
kusano 7d535a
kusano 7d535a
    distcheck fix for docs
kusano 7d535a
kusano 7d535a
commit 62077b7fa5b222e1bb9dea3467585aed69d596e2
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 23 21:13:14 2008 +0000
kusano 7d535a
kusano 7d535a
    Support for changing altsetting
kusano 7d535a
    
kusano 7d535a
    Will probably be suject to later consideration w.r.t. claiming of endpoints
kusano 7d535a
kusano 7d535a
commit 0499e9f418607b5786ac0c3e97bc46737a609ca3
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 20 21:10:01 2008 +0000
kusano 7d535a
kusano 7d535a
    it's called bmRequestType
kusano 7d535a
kusano 7d535a
commit 88884ae4bbe721dac117d5190303cb67852fa5d3
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 20 21:07:00 2008 +0000
kusano 7d535a
kusano 7d535a
    Save transfer flags before invoking callback
kusano 7d535a
    
kusano 7d535a
    The callback may free the transfer, in which case we can't read the flags
kusano 7d535a
    after it has returned.
kusano 7d535a
kusano 7d535a
commit ead09cde6895df0034a685516987ce253575e9a7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Mar 15 16:35:12 2008 +0000
kusano 7d535a
kusano 7d535a
    API documentation
kusano 7d535a
    
kusano 7d535a
    Hopefully mostly complete. Some constants were renamed and move into
kusano 7d535a
    enums.
kusano 7d535a
kusano 7d535a
commit 285724cc14ea5f993e2c4c92fe0aaf6c335bc139
kusano 7d535a
Author: Vasily Khoruzhick <anarsoul@gmail.com>
kusano 7d535a
Date:   Sat Mar 15 13:50:53 2008 +0200
kusano 7d535a
kusano 7d535a
    Fix get_device_list for realloc case
kusano 7d535a
    
kusano 7d535a
    get_device_list can modify pointer passed to it with realloc, but this
kusano 7d535a
    case wasn't handled and caused crash on my machine. Fixed
kusano 7d535a
    
kusano 7d535a
    Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
kusano 7d535a
kusano 7d535a
commit c0c9432d38b22784070dce3a7874c62c31786a27
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 13 12:36:56 2008 +0000
kusano 7d535a
kusano 7d535a
    Beginnings of cross-platform abstraction
kusano 7d535a
    
kusano 7d535a
    This also includes a libusb_get_pollfds API change
kusano 7d535a
kusano 7d535a
commit de4c5341d168697baa4c0901c406deb47e78aae7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Mar 10 18:38:15 2008 +0000
kusano 7d535a
kusano 7d535a
    Add transfer flags
kusano 7d535a
kusano 7d535a
commit aae05f688dc26a013166ab9436fd25018b49d76a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Mar 10 11:32:15 2008 +0000
kusano 7d535a
kusano 7d535a
    Simplify libusb_fill_control_transfer()
kusano 7d535a
    
kusano 7d535a
    Transfer length can be inferred from the setup packet.
kusano 7d535a
kusano 7d535a
commit 7c5ea95297c2f3f6afc42f60c1bf1bef777bb1fb
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Mar 10 11:29:24 2008 +0000
kusano 7d535a
kusano 7d535a
    get_device fixup
kusano 7d535a
    
kusano 7d535a
    Rename API away from "devh" and fix implementation to match header
kusano 7d535a
kusano 7d535a
commit 9e89d1aa82cbe7e21672ee3e2e545238fffc5318
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 9 16:27:06 2008 +0000
kusano 7d535a
kusano 7d535a
    Rename descriptor-getting functions
kusano 7d535a
    
kusano 7d535a
    Based on feedback from Tim Roberts
kusano 7d535a
kusano 7d535a
commit 283ae96c3ccbcee1c3950fce18ae47093ae8200e
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 9 16:15:02 2008 +0000
kusano 7d535a
kusano 7d535a
    Simplify cancellation API
kusano 7d535a
    
kusano 7d535a
    No need to provide the device here.
kusano 7d535a
kusano 7d535a
commit ebad1c79688ba603ad017ed0fe2f3c0dc8edd1ad
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 9 16:12:08 2008 +0000
kusano 7d535a
kusano 7d535a
    Rename libusb_dev_handle to libusb_device_handle
kusano 7d535a
kusano 7d535a
commit 1ac0a7d88f282b6f293c456fac8edb143cbaca3d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 9 01:01:57 2008 +0000
kusano 7d535a
kusano 7d535a
    Move synchronous I/O implementation to its own file
kusano 7d535a
kusano 7d535a
commit 66348c90ea4570bf999ac301089e006d0cce1926
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Mar 9 00:58:09 2008 +0000
kusano 7d535a
kusano 7d535a
    Separate transfer allocation and submission
kusano 7d535a
    
kusano 7d535a
    Leads to some hefty API changes. Now we're much more similar to the
kusano 7d535a
    Linux kernel model.
kusano 7d535a
    
kusano 7d535a
    Problems with dealing with asynchronous control transfers are passed
kusano 7d535a
    on to the user, basically you must allocate a buffer, start with the
kusano 7d535a
    setup, and put the data after. This won't make much sense until
kusano 7d535a
    documented (soon...)
kusano 7d535a
kusano 7d535a
commit d21ebe47ce578c93cd8969be1c933d503e32e5d4
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Mar 8 12:48:35 2008 +0000
kusano 7d535a
kusano 7d535a
    Rework URB API naming
kusano 7d535a
    
kusano 7d535a
    Now refer to everything as "transfers" as consistent with the USB spec
kusano 7d535a
    libusb_transfer is now a kind of transfer handle. To reduce confusion
kusano 7d535a
    with libusb_bulk_transfer and libusb_control_transfer, those have been
kusano 7d535a
    renamed to libusb_{control,bulk}_transfer_request.
kusano 7d535a
kusano 7d535a
commit fd6fb3cc093ad47271353a0e468d16547f991382
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Mar 8 11:53:33 2008 +0000
kusano 7d535a
kusano 7d535a
    Add fallback on /proc/bus/usb
kusano 7d535a
    
kusano 7d535a
    /dev/bus/usb is a relatively new thing probably not present on every
kusano 7d535a
    system
kusano 7d535a
kusano 7d535a
commit f3fdf447916289cd92b7190377681894e8ab611a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Mar 8 00:10:16 2008 +0000
kusano 7d535a
kusano 7d535a
    Persistent libusb_device storage
kusano 7d535a
    
kusano 7d535a
    Devices are now assigned a session ID (currently busnum:devaddr) which
kusano 7d535a
    is used to distinguish unique devices.
kusano 7d535a
    
kusano 7d535a
    Now multiple callers of libusb_get_device_list will get the same
kusano 7d535a
    libusb_device structure instances.
kusano 7d535a
kusano 7d535a
commit 23f8fb8bafeeda93ce234cb40eb7219d2e36c19c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 6 23:43:57 2008 +0000
kusano 7d535a
kusano 7d535a
    Add convenience function to find and open a device by USB VID+PID
kusano 7d535a
    
kusano 7d535a
    Lots of libusb apps I write are simple test apps not intended to be real
kusano 7d535a
    apps. Having a function available to quickly locate my device will be
kusano 7d535a
    handy in such situations.
kusano 7d535a
kusano 7d535a
commit 9cfdb494fccac53a4277da7c8b6d15f1a72a4959
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 6 23:25:20 2008 +0000
kusano 7d535a
kusano 7d535a
    Rework device discovery API
kusano 7d535a
    
kusano 7d535a
    libusb_find_devices and libusb_get_devices are no more
kusano 7d535a
    
kusano 7d535a
    libusb_get_device_list obtains a list of libusb_device structures for all
kusano 7d535a
    known devices in the system.
kusano 7d535a
    
kusano 7d535a
    Each libusb_device now has a reference count, defaulting to 1 on
kusano 7d535a
    instantiation. The reference count of 1 refers to the fact that it is
kusano 7d535a
    present in the list in this scenario.
kusano 7d535a
    
kusano 7d535a
    Opening a device adds a pointer to the libusb_device structure in the
kusano 7d535a
    handle, so that also adds a reference. Closing the device removes that
kusano 7d535a
    reference.
kusano 7d535a
    
kusano 7d535a
    The function to free the device list can optionally unref all the devices
kusano 7d535a
    inside.
kusano 7d535a
    
kusano 7d535a
    In future we will make the libusb_device instances all "global" so that if
kusano 7d535a
    the app calls get_device_list twice it actually gets the same libusb_device
kusano 7d535a
    structure references back. This way we can start to track disconnects, and
kusano 7d535a
    we can investigate adding a unique "session ID" to each libusb_device, an
kusano 7d535a
    identifier guaranteed to be unique to that device until reboot.
kusano 7d535a
kusano 7d535a
commit 77cea822788e024c848c7f554915f771a2dc1e0f
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Thu Mar 6 17:05:04 2008 +0000
kusano 7d535a
kusano 7d535a
    Remove ctrl debug code
kusano 7d535a
    
kusano 7d535a
    This was unintentionally committed
kusano 7d535a
kusano 7d535a
commit b873521a6f575628d535f89278bb67888004d0ca
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Tue Feb 26 22:11:34 2008 +0000
kusano 7d535a
kusano 7d535a
    Notifications for changes to the fd set
kusano 7d535a
    
kusano 7d535a
    Applications can now be notified when they should start and stop polling
kusano 7d535a
    new file descriptors.
kusano 7d535a
kusano 7d535a
commit ca66e16a370c828d08a5bc3f9f203db145c81a4c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Feb 1 12:20:20 2008 +0000
kusano 7d535a
kusano 7d535a
    Fix header installation path
kusano 7d535a
kusano 7d535a
commit e583100a4086c411093eef5c450880b965df6b1b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Jan 30 13:24:54 2008 +0000
kusano 7d535a
kusano 7d535a
    TODO update
kusano 7d535a
kusano 7d535a
commit 637a8d7ff8a11a23588925d9d3003a609bda8075
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Jan 30 13:19:10 2008 +0000
kusano 7d535a
kusano 7d535a
    Remove timers and signalfd
kusano 7d535a
    
kusano 7d535a
    Instead of timers, add a mechanism for informing the parent app when the
kusano 7d535a
    next timeout is due to happen, so that it can call us at that time.
kusano 7d535a
    
kusano 7d535a
    As we no longer use signals, signalfd has also been removed.
kusano 7d535a
kusano 7d535a
commit 8c56abe2e13ed4dd8c15737c21be7b6b1e5cf2ac
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 26 18:16:56 2008 +0000
kusano 7d535a
kusano 7d535a
    Poll usbfs descriptors directly
kusano 7d535a
    
kusano 7d535a
    We don't need to use signalfd for this functionality because we can poll
kusano 7d535a
    the file descriptors for write events.
kusano 7d535a
kusano 7d535a
commit e3ce855acec33d37dd833bca5dad5e8c3773003a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 26 17:26:40 2008 +0000
kusano 7d535a
kusano 7d535a
    Fix dpfp example compilation
kusano 7d535a
kusano 7d535a
commit 1d41a5cda2fefe826877ee4445199af30aa188b7
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 26 17:22:53 2008 +0000
kusano 7d535a
kusano 7d535a
    C++ header safety
kusano 7d535a
    
kusano 7d535a
    Pointed out by JF
kusano 7d535a
kusano 7d535a
commit 37b7f9a112eb1441d352467f661205b8872d0553
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 26 14:03:43 2008 +0000
kusano 7d535a
kusano 7d535a
    Only use -fgnu89-inline when supported
kusano 7d535a
    
kusano 7d535a
    J F pointed out that this option only works on gcc 4.3 and newer.
kusano 7d535a
kusano 7d535a
commit e3a09ca0b9cb6f46d54a0130f678c6097240a2bd
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sat Jan 5 21:59:40 2008 +0000
kusano 7d535a
kusano 7d535a
    Remove more fpusb remnants
kusano 7d535a
kusano 7d535a
commit dcd5e0075fa84601d997d29bb60bc8370b97a375
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 01:19:07 2008 +0000
kusano 7d535a
kusano 7d535a
    TODO update
kusano 7d535a
    
kusano 7d535a
    Start listing the things I want to discuss/reconsider before 1.0 API
kusano 7d535a
    is final.
kusano 7d535a
kusano 7d535a
commit de53d972ed9c1f21f86ffd585560520e986f212c
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 01:17:06 2008 +0000
kusano 7d535a
kusano 7d535a
    Rename some _devh_ functions
kusano 7d535a
    
kusano 7d535a
    Decided against naming functions in this style based on advice from
kusano 7d535a
    Tim Roberts. Still not really sure about devh naming in general.
kusano 7d535a
kusano 7d535a
commit 132d84bf8ae34bd0892b3d8207a53d87cc0a9cba
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 01:13:25 2008 +0000
kusano 7d535a
kusano 7d535a
    Use "transfer" instead of "msg"
kusano 7d535a
    
kusano 7d535a
    Based on a discussion with Tim Roberts.
kusano 7d535a
kusano 7d535a
commit ea6af58a8643137eb01eeb7d2f65404e390feb1b
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 00:57:00 2008 +0000
kusano 7d535a
kusano 7d535a
    Plural of bus is busses
kusano 7d535a
    
kusano 7d535a
    SF #1633043
kusano 7d535a
kusano 7d535a
commit dbb3fd871e3972b4e670f3161e7cd2f58f357600
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 00:54:57 2008 +0000
kusano 7d535a
kusano 7d535a
    API renaming: remove fpi and usb_ stuff
kusano 7d535a
    
kusano 7d535a
    fpi changed to usbi.
kusano 7d535a
    
kusano 7d535a
    We should not expose structures with prefix "usb_" in the public
kusano 7d535a
    namespace as it is quite likely there will be some conflict somewhere.
kusano 7d535a
    Instead, using "libusb_" should be safer.
kusano 7d535a
kusano 7d535a
commit e9364d72151ae1de9cce4175f330fe1529f02511
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Fri Jan 4 00:40:49 2008 +0000
kusano 7d535a
kusano 7d535a
    Rename to libusb-1.0
kusano 7d535a
    
kusano 7d535a
    I've taken over the libusb project, and what was previously known as fpusb
kusano 7d535a
    will eventually be released as libusb-1.0.
kusano 7d535a
kusano 7d535a
commit f4ed0b6a3e0a20555fdfc9e9b8be7e8a2c8ae192
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Dec 30 22:09:50 2007 +0000
kusano 7d535a
kusano 7d535a
    Compiler flags update
kusano 7d535a
    
kusano 7d535a
    Also fix some warnings
kusano 7d535a
kusano 7d535a
commit d3d671efe27491baf1d2ceadbfeeb4e7428d6f9a
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Dec 30 22:05:17 2007 +0000
kusano 7d535a
kusano 7d535a
    Fix signalfd structure size on x86
kusano 7d535a
    
kusano 7d535a
    ptr is a 64-bit value
kusano 7d535a
kusano 7d535a
commit dfac6756faad76071a92945e3e3a16b8a841a7ea
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Dec 12 23:32:54 2007 +0000
kusano 7d535a
kusano 7d535a
    Don't pass ctrl_msg/bulk_msg structures through async paths
kusano 7d535a
    
kusano 7d535a
    These are easiest to construct on the stack, but in the async case it is
kusano 7d535a
    likely that the submitting function returns (hence stack is destroyed)
kusano 7d535a
    before URB completion.
kusano 7d535a
kusano 7d535a
commit a8d2881eb7c273892acf2ff6e1f3f552631d1d11
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Dec 3 23:29:22 2007 +0000
kusano 7d535a
kusano 7d535a
    Add functionality to access device descriptors
kusano 7d535a
kusano 7d535a
commit b5a7a411087b37a6bf56b4688a9e3290daaed153
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Mon Dec 3 22:27:21 2007 +0000
kusano 7d535a
kusano 7d535a
    Rename fpusb_device_handle functions to devh
kusano 7d535a
    
kusano 7d535a
    Prevents confusion with functions that work on fpusb_dev structures.
kusano 7d535a
kusano 7d535a
commit eacf4505a473df0f521d1b69d5b45448f0709e2d
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Sun Dec 2 23:16:57 2007 +0000
kusano 7d535a
kusano 7d535a
    Add API to access poll fd
kusano 7d535a
    
kusano 7d535a
    Almost forgot... :)
kusano 7d535a
kusano 7d535a
commit 852bba4754ec57679c823f33e8feba6e4a564cbe
kusano 7d535a
Author: Daniel Drake <dsd@gentoo.org>
kusano 7d535a
Date:   Wed Nov 28 13:48:45 2007 +0000
kusano 7d535a
kusano 7d535a
    Initial commit
kusano 7d535a
    
kusano 7d535a
    Basic library structure which supports enumerating detected USB devices