+
+int device_set_devpath(struct udev_device *udev_device, const char *devpath)
+{
+ if (asprintf(&udev_device->syspath, "%s%s", udev_get_sys_path(udev_device->udev), devpath) < 0)
+ return -ENOMEM;
+ udev_device->devpath = &udev_device->syspath[strlen(udev_get_sys_path(udev_device->udev))];
+ return 0;
+}
+
+int device_set_subsystem(struct udev_device *udev_device, const char *subsystem)
+{
+ udev_device->subsystem = strdup(subsystem);
+ if (udev_device->subsystem == NULL)
+ return -1;
+ return 0;
+}
+
+int device_set_devname(struct udev_device *udev_device, const char *devname)
+{
+ udev_device->devname = strdup(devname);
+ if (udev_device->devname == NULL)
+ return -ENOMEM;
+ return 0;
+}
+
+int device_add_devlink(struct udev_device *udev_device, const char *devlink)
+{
+ if (name_list_add(&udev_device->link_list, devlink, 0) == NULL)
+ return -ENOMEM;
+ return 0;
+}
+
+int device_add_property(struct udev_device *udev_device, const char *property)
+{
+ if (name_list_add(&udev_device->env_list, property, 0) == NULL)
+ return -ENOMEM;
+ return 0;
+}