start of libusb compatability layer