= libusb = [[PageOutline(2-5, libusb)]] == Welcome == libusb is a C library that gives applications easy access to USB devices on many different operating systems. libusb is an open source project, the code is licensed under the [http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html GNU Lesser General Public License version 2.1] or later. == Getting started == There are two versions of the libusb API: the current [wiki:libusb-1.0] API, and its legacy predecessor [wiki:APIs#libusb-0.1legacyAPI libusb-0.1].[[BR]] Please use [wiki:libusb-1.0] for all new development. For a detailed comparison of API versions, see the [wiki:APIs APIs page]. || ||= Download the latest release tarball =||= Browse the source code =||= Documentation =|| ||='''1.0''' =|| '''[files-1.0:libusb-1.0.9/libusb-1.0.9.tar.bz2 libusb-1.0.9]''' ''(2012-04-20)'' || '''[gitweb-1.0: libusb-1.0 gitweb]''' || '''[api-1.0: 1.0 API documention]''' || ||='''1.0''' =|| '''[files-1.0:libusb-1.0.16-rc10/libusb-1.0.16-rc10.tar.bz2 libusb-1.0.16 Release Candidate 10]''' ''(2013-05-06)'' || '''[gitweb-1.0: libusb-1.0 gitweb]''' || '''[http://libusb.sourceforge.net/api-1.0.16/ 1.0.16 API documentation]''' || ||=0.1 (legacy) =|| [files-compat-0.1:libusb-compat-0.1.5/libusb-compat-0.1.5.tar.bz2 libusb-compat-0.1.5] ''(2013-05-20)'' || [gitweb-compat-0.1: libusb-compat-0.1 gitweb] || [doc-0.1: 0.1 API documention] || == Support == Please read the [wiki:FAQ FAQ (Frequently Asked Questions)] page to see if your question has already been answered. Please ask unanswered questions on the [wiki:MailingList mailing list] or in the [wiki:IRC IRC channel]. Remember to search for an answer on your own, before asking others for help. Also remember to include [wiki:debug] information if you have a question about a specific program or problem. == Bugs and feature requests == If you find a bug in libusb, libusb-compat-0.1, or another related program, or if you wish to request an enhancement, please verify that the bug still exists in the newest code, and then please create a new ticket on this web page. We require that you [/register register an account] and verify your email address before you can create a ticket, in an attempt to reduce the amount of spam that gets into the system. We are sorry for this inconvenience, but [/register registering] is quick and simple so please don't let it stop you. Make sure to view [/report/1 the list of active tickets] before [/newticket creating a new ticket], so that duplicates can be avoided. Remember to include [wiki:debug] information in your bug report and/or mailing list posts. Thank you for helping make libusb even better! == Users == Well-known users of libusb include: * [http://www.cups.org/ CUPS] printing software * [http://www.sane-project.org/ SANE] scanning software * [http://www.freedesktop.org/wiki/Software/fprint fprint] fingerprint reading software * [http://gphoto.org/proj/libgphoto2/ libgphoto2] camera access software (powering Google Picasa, GIMP, !DigiKam, Shotwell and others) * .. For a more complete list please check the [[wiki:Software using libusb|list of software using libusb]]. == Bindings == libusb can be used from these programming languages: ||=Language =||=Details =|| ||=Ada =|| [http://retrospekt.dk/2011/10/ada-libusb-0-1-bindings-initial-release/ Libusb 0.1 bindings for Ada] || ||=C(/C++) =|| Provided by the libusb library itself || ||=C# =|| [http://libusbdotnet.sourceforge.net/ libusbdotnet for C#, DotNet and Mono] || ||=Common Lisp =|| [https://github.com/soemraws/cl-libusb Common Lisp bindings to libusb-0.1] || ||=Factor =|| [https://github.com/littledan/Factor/tree/master/extra/libusb Factor libusb-1.0 binding] || ||=Go =|| [http://github.com/jteeuwen/go-pkg-usb Go libusb-1.0 wrapper] || ||=Haskell =|| [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bindings-libusb Low level], [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/usb-0.1 high level] || ||=Java =|| [http://sourceforge.net/projects/libusbjava/ Java libusb(-0.1)/libusb-win32 wrapper] || ||=Java =|| [https://github.com/trygvis/javax-usb-libusb1 Java libusb-1.0 bindings] || ||=Lua =|| [https://bitbucket.org/doub/luausb/overview lua libusb-1.0 binding] || ||=node.js =|| [https://github.com/schakko/node-usb node.js libusb-1.0 binding] || ||=OCaml =|| [https://forge.ocamlcore.org/projects/ocaml-usb/ OCaml libusb-1.0 binding] || ||=Perl =|| [https://code.google.com/p/perl-device-usb/ Perl bindings for libusb-0.1] || ||=Python =|| [http://pyusb.wiki.sourceforge.net/ pyusb for Python] || ||=Python =|| [http://bitpim.svn.sourceforge.net/viewvc/bitpim/trunk/bitpim/src/native/usb/ partial python wrapper using swig] || ||=Python =|| [http://github.com/vpelletier/python-libusb1 python-libusb1] pure-python wrapper. Supports asynchronous API, all transfer types, all platforms supported by libusb-1.0 + FreeBSD || ||=Ruby =|| [https://github.com/akr/ruby-usb Ruby bindings for libusb-0.1] || ||=Ruby =|| [http://github.com/larskanis/libusb Ruby bindings for libusb-1.0] || == Related == * [http://www.kernel.org/pub/linux/utils/usb/usbutils/ usbutils] includes the very useful lsusb program to view descriptors in devices == License of the Wiki Content == Creative Commons [http://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0]