Libusb is a library that enables user space programs to communicate with USB devices across Linux and Mac OS platforms. It supports both synchronous and asynchronous bulk transfers as well as control transfers. Libusb exists in two versions, libusb-1.0 and libusb-0.1, and is licensed under the LGPL. It initializes by finding all USB buses and devices connected to the system.