| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Previous _LDFLAGS included both the freshly built libusb in ../libusb
and -lusb-1.0, where libtool would usually resolve the latter to an
already-installed libusb library in the system. The extra reference
to a second libusb library resulted in failure to build examples on
Mac OS X in some cases, and is plain wrong.
See also the thread at http://marc.info/?m=132637593623667
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Compiling with gcc-4.6 results in the following warnings:
os/linux_usbfs.c: In function 'op_get_configuration':
os/linux_usbfs.c:1144:6: warning: variable 'r' set but not used ...
os/linux_usbfs.c: In function 'op_handle_events':
os/linux_usbfs.c:2091:40: warning: 'status' may be used uninitialized ...
os/linux_usbfs.c:2044:6: note: 'status' was declared here
dpfp.c: In function 'save_to_file':
dpfp.c:228:9: warning: variable 'ignore' set but not used ...
dpfp_threaded.c: In function 'save_to_file':
dpfp_threaded.c:257:9: warning: variable 'ignore' set but not used ...
This patch fixes these. (The second comes from handle_control_completion()
which gcc seems to inline into op_handle_events().)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[stuge: Add fixes for dpfp examples and update source references]
|
| |
|
|
|
|
|
| |
The libusb-1.0 directory name belongs in the compile command, e.g.
via pkg-config --cflags. Fixes #58.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under Windows, a variety of compilers and configurations are available,
meaning that the manner of parameter passing (e.g. registers vs stack)
can vary.
Match the Windows API calling convention and document this appropriately.
This calling convention will be used regardless of the configuration of
the user's development platform.
The only user-level complication is that all functions used as libusb
callbacks must use the same calling convention as libusb. The
LIBUSB_CALL macro is provided to make this easy.
Signed-off-by: Michael Plante <michael.plante@gmail.com>
Signed-off-by: Pete Batard <pbatard@gmail.com>
[dsd: slight change of strategy, add documentation]
|
| |
|
|
|
|
| |
It's not available on MinGW.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prepares for a Windows backend without dependency on pthreads-w32.
pthread_* is renamed to usbi_* and PTHREAD_* to USBI_*.
A usbi_mutex_static_t and usbi_mutex_static_lock() and _unlock() are
introduced for statically initialized mutexes, since they may be
implemented using other types when pthreads mutexes aren't used.
Move -pthread from libusb/Makefile.am to host-specific THREAD_CFLAGS in
configure.ac. This will enable optional use of -lpthread for cygwin.
[dsd: minor tweaks, and roll in a change based on patches from Pete
Batard to only build dpfp_threaded example when we're using pthreads]
|
|
|
|
| |
lsusb.c:26: warning: no previous prototype for ‘print_devs’
|
|
|
|
|
| |
Suggested by David Zeuthen. This allows multiple libraries in the same
process to independently use libusb without interfering.
|
|
|
|
|
| |
This involved moving from select() to poll() because there is no way to
distinguish usbfs's POLLERR condition with select().
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
It was documented to return the list length, but was returning 0.
|
| |
|
|
|
|
|
| |
This wasn't a particularly nice API. Cancellation should be handled by
the completion handler.
|
| |
|
|
|
|
| |
Make it clear that apps should not mess with these structures
|
| |
|
|
|
|
|
|
|
|
|
| |
Due to variable-sized structures, this involved changing allocation
mechanism. All transfers must now be allocated and freed through
libusb.
A synchronous function is missing, and I could do with writing a few
more helper functions to simplify things.
|
|
|
|
|
| |
Hopefully mostly complete. Some constants were renamed and move into
enums.
|
|
|
|
| |
This also includes a libusb_get_pollfds API change
|
| |
|
|
|
|
| |
Transfer length can be inferred from the setup packet.
|
|
|
|
| |
Rename API away from "devh" and fix implementation to match header
|
|
|
|
| |
Based on feedback from Tim Roberts
|
|
|
|
| |
No need to provide the device here.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Leads to some hefty API changes. Now we're much more similar to the
Linux kernel model.
Problems with dealing with asynchronous control transfers are passed
on to the user, basically you must allocate a buffer, start with the
setup, and put the data after. This won't make much sense until
documented (soon...)
|
|
|
|
|
|
|
| |
Now refer to everything as "transfers" as consistent with the USB spec
libusb_transfer is now a kind of transfer handle. To reduce confusion
with libusb_bulk_transfer and libusb_control_transfer, those have been
renamed to libusb_{control,bulk}_transfer_request.
|
|
|
|
|
|
|
|
| |
Devices are now assigned a session ID (currently busnum:devaddr) which
is used to distinguish unique devices.
Now multiple callers of libusb_get_device_list will get the same
libusb_device structure instances.
|
|
|
|
|
|
| |
Lots of libusb apps I write are simple test apps not intended to be real
apps. Having a function available to quickly locate my device will be
handy in such situations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libusb_find_devices and libusb_get_devices are no more
libusb_get_device_list obtains a list of libusb_device structures for all
known devices in the system.
Each libusb_device now has a reference count, defaulting to 1 on
instantiation. The reference count of 1 refers to the fact that it is
present in the list in this scenario.
Opening a device adds a pointer to the libusb_device structure in the
handle, so that also adds a reference. Closing the device removes that
reference.
The function to free the device list can optionally unref all the devices
inside.
In future we will make the libusb_device instances all "global" so that if
the app calls get_device_list twice it actually gets the same libusb_device
structure references back. This way we can start to track disconnects, and
we can investigate adding a unique "session ID" to each libusb_device, an
identifier guaranteed to be unique to that device until reboot.
|
|
|
|
|
|
|
| |
Instead of timers, add a mechanism for informing the parent app when the
next timeout is due to happen, so that it can call us at that time.
As we no longer use signals, signalfd has also been removed.
|
| |
|
|
|
|
|
| |
Decided against naming functions in this style based on advice from
Tim Roberts. Still not really sure about devh naming in general.
|
|
|
|
| |
Based on a discussion with Tim Roberts.
|
|
|
|
|
|
|
|
| |
fpi changed to usbi.
We should not expose structures with prefix "usb_" in the public
namespace as it is quite likely there will be some conflict somewhere.
Instead, using "libusb_" should be safer.
|
|
|
|
|
| |
I've taken over the libusb project, and what was previously known as fpusb
will eventually be released as libusb-1.0.
|
|
|
|
|
|
| |
These are easiest to construct on the stack, but in the async case it is
likely that the submitting function returns (hence stack is destroyed)
before URB completion.
|
|
|
|
| |
Prevents confusion with functions that work on fpusb_dev structures.
|
|
Basic library structure which supports enumerating detected USB devices
|