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)
{
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;
}
printf("dev_path: '%s'\n", str);
test_device(udev, devpath);
+ test_device_parents(udev, devpath);
test_enumerate(udev, subsystem);
test_monitor(udev, socket);