commit | 3dca96210446240af01612e77bedd5e16a65708c | [log] [tgz] |
---|---|---|
author | Chris Dickens <christopher.a.dickens@gmail.com> | Wed Dec 27 23:30:16 2017 -0800 |
committer | Chris Dickens <christopher.a.dickens@gmail.com> | Wed Dec 27 23:30:16 2017 -0800 |
tree | 8a01a5f0bfaf894a90095ec5412d93407bc77424 | |
parent | 539a3230cff8aa3430d4948d377d2a9224302197 [diff] |
hotplug: Improve internal structure and deregistration mechanism This commit shrinks the size of the internal hotplug callback structure by removing unused fields, using the correctly sized types for matching fields, and adding a new flags field whose bits control how the callback structure should behave. The hotplug callback handle ID counter has also been moved to the context structure instead of being a global variable shared amongst all contexts. This lets each context independently manage handle IDs and use the maximum range of possible IDs. Finally, the hotplug callback deregistration mechanism has been improved to signal to the event handler that an explicit deregistration needs to be handled. This removes the need to send a dummy hotplug message, which was using an invalid libusb_hotplug_event value anyway that was causing some compilers to complain. Closes #373 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb is a library for USB device access from Linux, Mac OS X, Windows, OpenBSD/NetBSD and Haiku userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
(Please use the mailing list rather than mailing developers directly)