libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD, Haiku and Solaris 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. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. No special privilege or elevation is required for the application to communicate with a device. All versions of the USB protocol, from 1.0 to 3.1 (latest), are supported. libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems.
Features
- It is portable
- It is user-mode
- It is version-agnostic
- All versions of the USB protocol are supported
- For Linux, macOS, Windows (Vista and newer), Android, OpenBSD/NetBSD, Haiku, Solaris
- Written in C (Haiku backend in C++)