Libusb

{{Short description|Unix software library}}

{{lowercase}}

{{Infobox Software

| name = libusb

| released = {{Start date |2007}}{{Cite web|url=https://github.com/libusb/libusb/commit/852bba4754ec57679c823f33e8feba6e4a564cbe|title = Initial commit · libusb/Libusb@852bba4|website = GitHub}}

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| repo = {{url|https://github.com/libusb/libusb.git}}

| programming language = C

| genre = {{unbulleted list|Application programming interface|Linux on the desktop}}

| license = LGPL 2.1

| website = {{URL|https://libusb.info}}

}}

File:Linux API.svg is composed out of the System Call Interface of the Linux kernel, the GNU C Library, libcgroup,{{cite web |url=http://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/ |title=ControlGroupInterface |publisher=freedesktop.org}} libdrm, libalsa and libevdev{{cite web |url=http://www.freedesktop.org/wiki/Software/libevdev/ |title=libevdev |publisher=freedesktop.org}} (by freedesktop.org).]]

libusb is a library that provides applications with access for controlling data transfer to and from USB devices on Unix and non-Unix systems, without the need for kernel-mode drivers.

Availability

libusb is currently available for Linux, the BSDs, Solaris, OS X, Windows, Android, and Haiku.{{Cite web|url=https://github.com/libusb/libusb/commit/dc97425bb415422423b8876af0e34111e566d56d|title = Haiku: Add Haiku support · libusb/Libusb@dc97425|website = GitHub}} It is written in C.

Amongst other applications, the library is used by SANE, the Linux scanner project, in preference to the kernel scanner module, which is restricted to Linux kernel 2.4.

See also

References

{{Reflist}}