rendered paste body==== OUTPUT ====
leftwing@atlantis USB $ cc -I/usr/sfw/include -L/usr/sfw/lib -R/usr/sfw/lib -lusb test1.c -o test1 ; ./test1
libusb test (JMC #1)
usb_init()...
usb_find_busses()...
usb_find_devices()...
busses = usb_get_busses()...
BUS: 001
Device: 0430_00a2
Vendor: 1072
Product: 162
Device Class:
USB_CLASS_PER_INTERFACE
Device: 046d_c043
Vendor: 1133
Product: 49219
(Logitech)
Device Class:
USB_CLASS_PER_INTERFACE
Device: 0430_100e
Vendor: 1072
Product: 4110
Device Class:
USB_CLASS_HUB
Device: 0518_0001
Vendor: 1304
Product: 1
Device Class:
USB_CLASS_PER_INTERFACE
Device: 0451_2046
Vendor: 1105
Product: 8262
Device Class:
USB_CLASS_HUB
Device: 0451_1446
Vendor: 1105
Product: 5190
Device Class:
USB_CLASS_HUB
Device: 0000_0000
Vendor: 0
Product: 0
Device Class:
USB_CLASS_HUB
==== SOURCE ====
#include <usb.h>
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
struct usb_bus *busses;
struct usb_bus *bus;
int c, i, a;
printf("libusb test (JMC #1)\n");
printf("usb_init()...\n");
usb_init();
printf("usb_find_busses()...\n");
usb_find_busses();
printf("usb_find_devices()...\n");
usb_find_devices();
printf("busses = usb_get_busses()...\n");
busses = usb_get_busses();
for (bus = busses; bus; bus = bus->next)
{
struct usb_device *dev;
printf("BUS: %s\n", bus->dirname);
for (dev = bus->devices; dev; dev = dev->next)
{
struct usb_device_descriptor *desc = &(dev->descriptor);
printf(" Device: %s\n", dev->filename);
printf(" Vendor: %d\n", desc->idVendor);
printf(" Product: %d\n", desc->idProduct);
if (desc->idVendor == 1133)
printf(" (Logitech)\n");
if (desc->idProduct == 2160)
printf(" (Quickcam Express)\n");
// Enumerate and print values for bDeviceClass:
printf(" Device Class:\n");
if (desc->bDeviceClass == USB_CLASS_PER_INTERFACE) printf(" USB_CLASS_PER_INTERFACE\n");
if (desc->bDeviceClass == USB_CLASS_AUDIO) printf(" USB_CLASS_AUDIO\n");
if (desc->bDeviceClass == USB_CLASS_COMM) printf(" USB_CLASS_COMM\n");
if (desc->bDeviceClass == USB_CLASS_HID) printf(" USB_CLASS_HID\n");
if (desc->bDeviceClass == USB_CLASS_PRINTER) printf(" USB_CLASS_PRINTER\n");
if (desc->bDeviceClass == USB_CLASS_MASS_STORAGE) printf(" USB_CLASS_MASS_STORAGE\n");
if (desc->bDeviceClass == USB_CLASS_HUB) printf(" USB_CLASS_HUB\n");
if (desc->bDeviceClass == USB_CLASS_DATA) printf(" USB_CLASS_DATA\n");
if (desc->bDeviceClass == USB_CLASS_VENDOR_SPEC) printf(" USB_CLASS_VENDOR_SPEC\n");
printf("\n");
}
}
}