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. It is user-mode: No special privilege or elevation is required for the application to communicate with a device.