chiark / gitweb /
udevadm: info - use "udev_device"
[elogind.git] / udev / lib / test-libudev.c
index 4fdef68881211f609259b16e1b2dec51fc17c75e..7795f5f0fba2a165fa5659fb76ca8b85ecdbba45 100644 (file)
@@ -86,6 +86,23 @@ static int test_device(struct udev *udev, const char *devpath)
        return 0;
 }
 
+static int test_device_parents(struct udev *udev, const char *devpath)
+{
+       struct udev_device *device;
+
+       printf("looking at device: %s\n", devpath);
+       device = udev_device_new_from_devpath(udev, devpath);
+       while (device != NULL) {
+               struct udev_device *device_parent;
+
+               print_device(device);
+               device_parent = udev_device_new_from_parent(device);
+               udev_device_unref(device);
+               device = device_parent;
+       }
+       return 0;
+}
+
 static int devices_enum_cb(struct udev *udev,
                           const char *devpath, const char *subsystem, const char *name,
                           void *data)
@@ -98,7 +115,7 @@ static int test_enumerate(struct udev *udev, const char *subsystem)
 {
        int count;
 
-       count = udev_devices_enumerate(udev, subsystem, devices_enum_cb, NULL);
+       count = udev_enumerate_devices(udev, subsystem, devices_enum_cb, NULL);
        printf("found %i devices\n\n", count);
        return count;
 }
@@ -184,6 +201,7 @@ int main(int argc, char *argv[], char *envp[])
        printf("dev_path: '%s'\n", str);
 
        test_device(udev, devpath);
+       test_device_parents(udev, devpath);
        test_enumerate(udev, subsystem);
        test_monitor(udev, socket);