by Akshay Jaggi for Haiku
Haiku’s USB stack uses USBKit as an interface to USB from userspace. Though easy to understand and use, it is difficult to port a lot of existing apps to use USBKit. LibUSB is a generic C library, which provides access to USB devices from a single cross-platform API. This way, apps written using the LibUSB API can easily be ported to different operating systems (and thus also to Haiku), without worrying about the specific USB implementation.