# All Classes and Interfaces

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