| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Peter Stuge)
v1.0.6 release
Darwin: support multiple calls to libusb_init
Credit to Orin Eman for finding this bug.
Darwin: use logging functions
Use usbi_warn, usbi_err, and usbi_info instead of _usbi_log.
Darwin: fix memory leak in process_device
Credit to Mike Colagrosso for finding this bug.
Add internal abstraction for POSIX Threads
This prepares for a Windows backend without dependency on pthreads-w32.
pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
introduced for statically initialized mutexes, since they may be
implemented using other types when pthreads mutexes aren't used.
Move -pthread from libusb/Makefile.am to host-specific AM_CFLAGS in
configure.ac. AM_CFLAGS is already used in Makefile.am.
(Numerous merge conflicts resolved by Michael Plante)
misc fixes to pthreads abstraction
* windows_compat.h should not be directly included (use libusbi.h)
* windows_usb.c still had some references to pthread_mutex_[un]lock
Add libusb_strerror() to get short error message in English from enum
(Merge conflicts resolved by Michael Plante)
Better cleanup on errors, stricter types and some good casts
Avoid various memory leaks in error code paths and remove warnings. Also
add usbi_cond_destroy in os/threads_posix.h because it's used for cleanup
now.
(Merge conflicts resolved by Michael Plante)
Rename all interface parameters to usb_interface or interface_number
(Merge conflicts resolved by Michael Plante)
Add type parameter to the list_for_each_entry() and _safe() macros
(Merge conflicts resolved by Michael Plante)
VA_ARGS workaround for logging with MSVC6
(Merge conflicts resolved by Michael Plante)
Fix context memory leak in libusb_init()
* Now holds default_context_lock for duration of libusb_init
* Doesn't allocate it if not needed
Fix the last MSVC /W3 warning
removal of pthreads from MSVC and mingw
* removed pthread*.lib from linking in msvc6 (2005/8 not yet edited)
* added threads_windows.[ch] to all project files in msvc6
* added usbi_cond_signal to both threading versions, unused
* added native windows threading code, now used
removed redundant time.h includes
removed pthread-win32 informational solution files
updated MSVC 2005/2008 for thread abstraction
fixed DDK build
fixed cygwin's use of POSIX threads
fixed dpfp/dpfp_threaded for MinGW compatibility
config_msvc.h -> msvc/config.h
pthread abstraction for DLL project files
fixed bad reference to thread_windows in 2005 DLL vcproj
cygwin ifdef is not required in threads_windows.h - removed
fixed residuals from previous patches
moved thread source detection into autotool scripts
|
| |
|
| |
|
|
|
|
| |
undefined always on Windows
|
| |
|
|
|
|
| |
Minor comment clarification in libusb.h
|
|
|
|
| |
libusb_get_device_list change introduced with r52. Added definition on ssize_t in libusb.h for MSVC platforms.
|
| |
|
|
|
|
| |
need for #undef interface in end user sources)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
core.c:777: warning: no previous prototype for 'libusb_get_max_iso_packet_size'
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a new file descriptor from the timerfd system calls to handle
timeouts. On supported systems, this means that there is less hassle
figuring out when the poll() timeout should be, since
libusb_get_next_timeout() will always return 0 and the timeout events will
be triggered as regular activity on the file descriptor set.
Add API function libusb_pollfds_handle_timeouts() to detect whether
you're on a platform with the timing headache, and flesh out the
surrounding documentation.
|
|
|
|
|
| |
g++ -pedantic doesn't like this
Reported by Eberhard Mattes
|
|
|
|
|
|
| |
This was due to an API inconsistency which can be safely worked around.
Hopefully we'll remember to fix the API next time we come to break
things.
|
|
|
|
|
| |
Implementation suggested by David Moore. Needed for proper universal
code support on Darwin.
|
|
|
|
|
|
|
|
| |
Add some text describing the libusb_transfer_cb_fn function type
with the semantics I have gathered from reading other parts of
the API docs, referring to the proper section for more details.
[dsd: tweaked the description slightly]
|
|
|
|
|
|
|
|
| |
If the compiler is known to be running in C99 mode,
use "flexible array members" ("foo[]").
If the compiler is running in any other mode, continue
using the non-standard but widely common "foo[0]" syntax.
|
|
|
|
| |
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.ent>
|
|
|
|
|
|
| |
Documentation brushed up, and I realised that another function is
needed for tight event handling loops -- they must be able to check
if an open/close operation is trying to interrupt it.
|
|
|
|
|
|
| |
Add support for re-attaching a driver to a device under Linux.
[dsd: fixed handling of return value, and added LIBUSB_ERROR_BUSY case]
|
| |
|
|
|
|
| |
Pointed out by Lou
|
| |
|
|
|
|
|
| |
Suggested by David Zeuthen. This allows multiple libraries in the same
process to independently use libusb without interfering.
|
| |
|
|
|
|
|
|
| |
Now offers a mechanism to wait for events while another thread is
doing the event handling. Complicates things for MT async apps, but
then again it's a bit of a tricky combination to start with.
|
|
|
|
|
|
|
| |
Add libusb_set_debug() API to set message verbosity.
Ludovic Rousseau pointed out that applications may close stdout/stderr
descriptors, which might then be reused.
|
|
|
|
| |
Hopefully one of the last API tweaks...
|
|
|
|
|
| |
This involved moving from select() to poll() because there is no way to
distinguish usbfs's POLLERR condition with select().
|
| |
|
|
|
|
|
|
|
|
| |
Document behaviour where host-endian and bus-endian (little) should be
used respectively.
Also remove packed attribute from libusb_control_setup as all fields
are naturally aligned.
|
| |
|
|
|
|
| |
Otherwise there is no way to know which values to look for.
|
|
|
|
|
|
| |
libusb no longer caches descriptors in libusb_device but backends are
intended to be able to provide copies from memory. In the common linux
case we can use sysfs.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|