# Package ch.ntb.usb

package ch.ntb.usb
A Java wrapper for the libusb 0.1 and libusb-win32 USB library.

The Java libusb wrapper is known to work on Linux, Windows and Mac, but should work on every operating system which supports libusb and Java.

This software has originally been developed by members of the Computer Science Laboratory at the University of Applied Sciences of Technology NTB, Buchs, Switzerland.

The main project page is http://libusbjava.sourceforge.net.

This version is distributed together with the Java API of the ZTEX EZ-USB SDK and bases on the SVN version of Apr. 6, 2009. It is extended by the ability to load the (OS dependent) libraries form system ressource (e.g. in the current .jar file), see the LibLoader Class.

LibusbJava.java is the JNI class to the libusbJava.so and LibusbJava.dll, respectively. Every class starting with Usb_ represents a descriptor of the bus structure which is retrieved by calling LibusbJava.usb_get_busses().

## Related Resources

For more information about this project visit http://libusbjava.sourceforge.net.

Class
Description
Device
This class represents an USB device.
To get an instance of an USB device use `USB.getDevice(...)`.
LibLoader
This class allows to load libraries in the normal way or as a system resource (e.g.
LibusbJava
This class represents the Java Native Interface to the shared library which is (with some exceptions) a one-to-one representation of the libusb API.
USB
This class manages all USB devices and defines some USB specific constants.
Usb_Bus
Represents an USB bus.
This is the root class for the representation of the libusb USB structure.
Usb_Config_Descriptor
Represents the descriptor of a USB configuration.
A USB device can have several different configuration.
The length of the configuration descriptor is `Usb_Descriptor.USB_DT_CONFIG_SIZE` and the type is `Usb_Descriptor.USB_DT_CONFIG`.
Usb_Descriptor
Common USB descriptor values.
Usb_Device
Represents an USB device.
An USB device has one device descriptor and it may have multiple configuration descriptors.
Usb_Device_Descriptor
Represents the descriptor of a USB device.
A USB device can only have one device descriptor.
Usb_Endpoint_Descriptor
Represents the descriptor of an USB endpoint.
Endpoint descriptors are used to describe endpoints other than endpoint zero.
Usb_Interface
Represents an USB interface.
An interface is a group of alternate settings of a configuration.
Usb_Interface_Descriptor
Represents the descriptor of a USB interface.
The interface descriptor could be seen as a header or grouping of the endpoints into a functional group performing a single feature of the device.
The length of the interface descriptor is `Usb_Descriptor.USB_DT_INTERFACE_SIZE` and the type is `Usb_Descriptor.USB_DT_INTERFACE`.
USBException
USBTimeoutException
Utils