54 Commits

Author SHA1 Message Date
Pete Batard 94039837f6 added libusb version display to xusb 2010-09-20 13:28:04 +01:00
Pete Batard 1ebd8c9052 improved readout of string descriptors in xusb
reads man/prod/ser strings using the relevant string index
2010-06-14 22:07:19 +01:00
Pete Batard 71eaaccde2 disabled autoclaim in windows_usb.c and removed its use in xusb.c 2010-05-05 23:07:18 +01:00
Pete Batard 9c896f5d98 switched DDK calling convention for examples to __cdecl 2010-04-18 23:01:44 +01:00
Pete Batard d70641755c added advapi32.lib dependency reference in xusb.c 2010-04-16 23:31:50 +01:00
Pete Batard fc2b212758 better handling of attach/detach for Linux in xusb.c 2010-04-16 10:47:37 +01:00
Tim Roberts 32a674508a added more explicit library dependencies in xusb.c (MSVC) 2010-04-16 10:27:33 +01:00
Pete Batard 9300883d04 set default messaging level to warnings in xusb 2010-04-08 13:30:17 +01:00
Pete Batard 31aff02b62 fixed "ignoring return value of 'fwrite'" warning with gcc 2010-04-08 12:40:54 +01:00
Pete Batard e295c065f3 added binary dump option to xusb (-b)
also switched boolean variables to actual bool
2010-04-08 12:30:06 +01:00
Pete Batard 2ec0c2b1ff fixed HID record size computation in xusb 2010-04-08 11:48:58 +01:00
Pete Batard adc0945982 fixed arglen warning from previous commit 2010-04-06 20:21:45 +01:00
Pete Batard b52b131343 xusb improvements (parameter handling + debug enable) 2010-04-06 20:20:01 +01:00
Michael Plante e5a9ce5865 xusb HID test improvements (Feature Reports)
Issue reported by Axel Rohde
2010-04-06 17:26:09 +01:00
Peter Stuge f43d8e65db removed trailing whitespaces (Windows backend) 2010-03-18 12:44:55 +00:00
Pete Batard 19f97761a0 xusb improvements (parameters checks) 2010-03-08 20:14:05 +00:00
Pete Batard 1c72741123 reattach driver when detached in xusb (Xiaofan Chen) 2010-03-01 16:43:48 +00:00
Pete Batard 158799ca3f xusb improvements for HID test: int. vs bulk (Xiaofan Chen) 2010-03-01 16:08:20 +00:00
Pete Batard a3e487f1b9 xusb improvements and fixes 2010-02-28 22:31:06 +00:00
Pete Batard dbd439fa2c includes simplification and cleanup (core) 2010-02-24 22:05:40 +00:00
Pete Batard c83b94c78f merge abstraction for POSIX Threads and integration changes (Michael Plante, 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
2010-02-24 11:29:43 +00:00
Pete Batard 71c795ca20 updated copyright notice and credits in source 2010-02-20 01:16:20 +00:00
Pete Batard 60412cb33f xusb improvements (feature reports) 2010-02-18 00:22:50 +00:00
Pete Batard dbd8c6a375 r141: HID I/O Overhaul:
- discard report ID from buffer (new hid_buffer in transfer_priv & new copy_transfer_data backend call)
- overflow detection
- extended HID xusb test
Also:
- fixed ill placed memset on composite device siblings detection
2010-02-06 14:56:34 +00:00
Pete Batard 3bb808f398 r132: harmonized compatibility layer function names (_libusb prefix always, rather than _for_poll suffix)
additional minor xusb improvements.
2010-02-02 19:42:27 +00:00
Pete Batard 3e258645f4 r129: xusb fixes for Mass Storage test (Alan Stern):
- forces command length to 31
- null termination of vid/pid/rev strings
- big endian detection
2010-01-31 03:36:45 +00:00
Pete Batard c1f00180ff r126: fixed sscanf_s test for MSVC6 users 2010-01-30 21:00:23 +00:00
Pete Batard bf4f54160c r124: removes #error on previous commit and fixes thing ourselves 2010-01-30 01:40:41 +00:00
Pete Batard afe70cedf7 r123: reverted the use of usb_interface in core and forced interface to be undefined always on Windows 2010-01-29 20:04:35 +00:00
Pete Batard 47c83183c0 r122: fixed poll conflict on cygwin (all compat functions renamed to _libusb_####)
- fixed sscanf_s undefined for non MS compilers
- fixed cygiwn warnings in windows_usb.c
2010-01-28 23:18:52 +00:00
Pete Batard 37b685c355 r121: some more small improvements for xusb.c (vid:pid as cmdline parameter) 2010-01-28 15:56:04 +00:00
Pete Batard 388620e21f r119: xusb improvements for mass storage (Alan Stern) 2010-01-27 21:23:31 +00:00
Pete Batard fa2f3231db r118: more readable xusb output and added automated endpoint generation for Mass Storage 2010-01-26 15:32:57 +00:00
Pete Batard 03265db68a r116: DDK build completion (Orin Eman):
- lsusb/xusb sources + ddk_build call
- missing libusb_strerror in .def
- removed "handle_timeouts_locked unused" warning in in io.c for MinGW
2010-01-26 01:46:17 +00:00
Pete Batard 9459dd37f0 r115: added libusb_strerror (Francesco Montorsi) 2010-01-25 22:21:31 +00:00
Pete Batard 628bd43bc2 r105: added MS Sidewinder HID test in xusb.c + minor changes/improvements 2010-01-23 23:28:55 +00:00
Pete Batard 0fc4348172 r94: removed the need for DDK includes + minor fixes 2010-01-21 01:34:53 +00:00
Pete Batard 5590301e7f r93: HID part 2 (WIP)
- added composite HID device support in xusb.c
- fixed signed/unsigned bug in windows_compat.c (Orin Eman)
- added support for synchronous completion of async requests
- composite HID device support (ClassGUID fallback for driver unavail., read interface number from MI_##, extra path for HID)
- generic interface_by_endpoint and get_valid_interface
- added HID struct in priv
- HID submit_control_transfer
2010-01-20 20:29:45 +00:00
Pete Batard 7a8f7d1826 r89: extended API support
- composite devices as a separate backend API
- mutidriver support in composite devices interface
- HID: device interface path, open/close (WIP)
- added HID test in xusb.c
- fixed Windows version and DDK support
- smaller fixes
2010-01-18 20:32:38 +00:00
Pete Batard b96e16e75f r80: workaround for interface macro redefinition on Windows (removes the need for #undef interface in end user sources) 2010-01-15 12:35:02 +00:00
Pete Batard 1626ee0042 r75: fixed missing <stdarg.h> include in xusb.c for UNIX platforms 2010-01-14 15:50:39 +00:00
Pete Batard e452335742 Fix CR/LF inconsistencies 2010-01-14 12:57:07 +00:00
Pete Batard fdcf676350 svn r62: More MSVC6 compatibility
- perr() without variadic in xusb.c (Michael Plante)
- dropped LOOP_CONTINUE variadic in windows_usb.c
2010-01-14 01:39:29 +00:00
Pete Batard 71613013b9 svn r54: - fixes missing config_msvc.h 2010-01-14 01:34:40 +00:00
Pete Batard 762989c9ba svn r44:
- fixed configure.ac for libusb handled timeouts
- fixed crash on invalid fds in windows_compat.c
- xusb improvements for mass storage test
2010-01-14 01:26:34 +00:00
Pete Batard 191930f700 svn r42:
- code cleanup
- device reset improvement (tentative)
- inquiry request for Mass Storage in xusb.c
2010-01-14 01:26:01 +00:00
Pete Batard 0cf1a367fa svn r40:
- feature complete!
- added transfer cancellation
- added device reset
- additional code cleanup
2010-01-14 01:25:18 +00:00
Pete Batard 055b0136bf svn r38:
- bulk/interrupt I/O at last!
- endpoint handling
- minor code improvements
2010-01-14 01:24:28 +00:00
Pete Batard 434caf7c49 svn r37:
- windows_set_interface_altsetting (untested)
- windows_set_configuration (untested)
- updated xusb.c test program, with comprehensive XBox Controller test and
preparation for bulk transfers test on Mass Storage device
2010-01-14 01:23:19 +00:00
Pete Batard bdcbace881 svn r25:
- WinUSB composite device support (with DeviceClasses registry lookup)
- better interface handling
- other minor improvements
2010-01-14 01:16:33 +00:00