Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package usb.core;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import usb.core.device;
- public class Main {
- public static void main(String[]args) throws IOException
- {
- try
- {
- // Bootstrap by getting the USB Host from the HostFactory.
- Host host = HostFactory.getHost();
- // Obtain a list of the USB buses available on the Host.
- Bus[] bus = host.getBusses();
- int total_bus = bus.length;
- System.out.println(total_bus);
- // Traverse through all the USB buses.
- for (int i=0; i<total_bus; i++)
- {
- // Access the root hub on the USB bus and obtain the
- // number of USB ports available on the root hub.
- Device root = bus[i].getRootHub();
- int total_port = root.getNumPorts();
- // Traverse through all the USB ports available on the
- // root hub. It should be mentioned that the numbering
- // starts from 1, not 0.
- for (int j=1; j<=total_port; j++)
- {
- // Obtain the Device connected to the port.
- Device device = root.getChild(j);
- if (device != null)
- {
- // USB device available, do something here.
- // Obtain the current Configuration of the device and the number of
- // Interfaces available under the current Configuration.
- Configuration config = device.getConfiguration();
- int total_interface = config.getNumInterfaces();
- // Traverse through the Interfaces
- for (int k=0; k<total_interface; k++)
- {
- // Access the currently Interface and obtain the number of
- // endpoints available on the Interface.
- Interface itf = config.getInterface(k, 0);
- int total_ep = itf.getNumEndpoints();
- // Traverse through all the endpoints.
- for (int l=0; l<total_ep; l++)
- {
- // Access the endpoint, and obtain its I/O type.
- Endpoint ep = itf.getEndpoint(l);
- String io_type = ep.getType();
- boolean input = ep.isInput();
- // If the endpoint is an input endpoint, obtain its
- // InputStream and read in data.
- if (input)
- {
- InputStream in;
- in = ep.getInputStream();
- // Read in data here
- in.close();
- }
- // If the Endpoint is and output Endpoint, obtain its
- // OutputStream and write out data.
- else
- {
- OutputStream out;
- out = ep.getOutputStream();
- // Write out data here.
- out.close();
- }
- }
- }
- }
- }
- }
- } catch (Exception e)
- {
- System.out.println(e.getMessage());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement