libusb is a C library which provides generic access to USB devices. It supports Linux, OS X, Windows, Windows CE, Android, and OpenBSD/NetBSD.