mirror of
https://github.com/RPCS3/libusb.git
synced 2026-07-18 10:15:52 -04:00
c74dce858335d87ae07e2eceb7c166fa275bc8fe
Prior to this commit, there were some limitations and inefficiencies during the enmeration process. First, the maximum number of device interface GUIDs that could be enumerated was fixed at 64. This limit has been removed and the list of GUIDs is dynamically resized as new ones are encountered. Logic has also been added to detect the presence of duplicate GUIDs in order to speed up the enumeration process. Next, when searching for device interface GUIDs, only the "DeviceInterfaceGUIDs" registry key was being consulted. Now we will also consider "DeviceInterfaceGUID" in order to support devices that have the GUID listed under this key (such as some WCID devices). Finally, there used to be a static list of USB PnP enumerator strings that were used to detect devices during the GENeric enumeration pass. In many cases, this is wasteful as these enumerators are only present with very specific hardware. To improve this, we now keep track of the USB PnP enumerator string encountered as we enumerate the hubs. This allows the enumeration process to only search for devices that could possibly be present on the system given the hardware and drivers that were encountered. Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb
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
- Hans de Goede hdegoede@redhat.com
- Xiaofan Chen xiaofanc@gmail.com
- Ludovic Rousseau ludovic.rousseau@gmail.com
- Nathan Hjelm hjelmn@cs.unm.edu
- Chris Dickens christopher.a.dickens@gmail.com
(Please use the mailing list rather than mailing developers directly)
Description
Languages
C
91.7%
C++
3.1%
CMake
1.6%
Batchfile
1.1%
Makefile
1%
Other
1.5%