API documentation
[platform/upstream/libusb.git] / examples / lsusb.c
index 00fb178..ca39bd9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * fpusb example program to list devices on the bus
+ * libusb example program to list devices on the bus
  * Copyright (C) 2007 Daniel Drake <dsd@gentoo.org>
  *
  * This library is free software; you can redistribute it and/or
 
 #include <stdio.h>
 
-#include <libfpusb/fpusb.h>
+#include <libusb/libusb.h>
 
-void print_devs(fpusb_dev *devs)
+void print_devs(libusb_device **devs)
 {
-       fpusb_dev *dev;
+       libusb_device *dev;
+       int i = 0;
 
-       for (dev = devs; dev; dev = fpusb_dev_next(dev)) {
-               struct usb_dev_descriptor *desc = fpusb_dev_get_descriptor(dev);
+       while ((dev = devs[i++]) != NULL) {
+               struct libusb_device_descriptor *desc =
+                       libusb_get_device_descriptor(dev);
                printf("%04x:%04x\n", desc->idVendor, desc->idProduct);
        }
 }
 
 int main(void)
 {
-       fpusb_dev *devs;
-       fpusb_init(0);
-       fpusb_find_devices();
-       devs = fpusb_get_devices();
+       libusb_device **devs;
+       int r;
+
+       r = libusb_init();
+       if (r < 0)
+               return r;
+
+       r = libusb_get_device_list(&devs);
+       if (r < 0)
+               return r;
 
        print_devs(devs);
+       libusb_free_device_list(devs, 1);
 
-       fpusb_exit();
+       libusb_exit();
        return 0;
 }