libusb is a library that gives user level applications uniform access to USB devices across many different operating systems.