-extern int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath);
-extern int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem);
-extern int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode);
-extern int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink);
-extern void udev_device_cleanup_devlinks_list(struct udev_device *udev_device);
-extern struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value);
-extern struct udev_list_entry *udev_device_add_property_from_string(struct udev_device *udev_device, const char *property);
-extern char **udev_device_get_properties_envp(struct udev_device *udev_device);
-extern int udev_device_read_db(struct udev_device *udev_device);
-extern int udev_device_read_uevent_file(struct udev_device *udev_device);
-extern int udev_device_set_action(struct udev_device *udev_device, const char *action);
-extern int udev_device_set_driver(struct udev_device *udev_device, const char *driver);
-extern const char *udev_device_get_devpath_old(struct udev_device *udev_device);
-extern int udev_device_set_devpath_old(struct udev_device *udev_device, const char *devpath_old);
-extern const char *udev_device_get_physdevpath(struct udev_device *udev_device);
-extern int udev_device_set_physdevpath(struct udev_device *udev_device, const char *physdevpath);
-extern int udev_device_get_timeout(struct udev_device *udev_device);
-extern int udev_device_set_timeout(struct udev_device *udev_device, int timeout);
-extern int udev_device_get_event_timeout(struct udev_device *udev_device);
-extern int udev_device_set_event_timeout(struct udev_device *udev_device, int event_timeout);
-extern int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum);
-extern int udev_device_set_seqnum(struct udev_device *udev_device, unsigned long long int seqnum);
-extern int udev_device_get_num_fake_partitions(struct udev_device *udev_device);
-extern int udev_device_set_num_fake_partitions(struct udev_device *udev_device, int num);
-extern int udev_device_get_devlink_priority(struct udev_device *udev_device);
-extern int udev_device_set_devlink_priority(struct udev_device *udev_device, int prio);
-extern int udev_device_get_ignore_remove(struct udev_device *udev_device);
-extern int udev_device_set_ignore_remove(struct udev_device *udev_device, int ignore);
-extern void udev_device_set_info_loaded(struct udev_device *device);
+int udev_device_set_syspath(struct udev_device *udev_device, const char *syspath);
+int udev_device_set_subsystem(struct udev_device *udev_device, const char *subsystem);
+int udev_device_set_devtype(struct udev_device *udev_device, const char *devtype);
+int udev_device_set_devnode(struct udev_device *udev_device, const char *devnode);
+int udev_device_add_devlink(struct udev_device *udev_device, const char *devlink);
+void udev_device_cleanup_devlinks_list(struct udev_device *udev_device);
+struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device, const char *key, const char *value);
+struct udev_list_entry *udev_device_add_property_from_string(struct udev_device *udev_device, const char *property);
+char **udev_device_get_properties_envp(struct udev_device *udev_device);
+ssize_t udev_device_get_properties_monitor_buf(struct udev_device *udev_device, const char **buf);
+int udev_device_read_db(struct udev_device *udev_device);
+int udev_device_read_uevent_file(struct udev_device *udev_device);
+int udev_device_set_action(struct udev_device *udev_device, const char *action);
+int udev_device_set_driver(struct udev_device *udev_device, const char *driver);
+const char *udev_device_get_devpath_old(struct udev_device *udev_device);
+int udev_device_set_devpath_old(struct udev_device *udev_device, const char *devpath_old);
+const char *udev_device_get_knodename(struct udev_device *udev_device);
+int udev_device_set_knodename(struct udev_device *udev_device, const char *knodename);
+int udev_device_get_timeout(struct udev_device *udev_device);
+int udev_device_set_timeout(struct udev_device *udev_device, int timeout);
+int udev_device_get_event_timeout(struct udev_device *udev_device);
+int udev_device_set_event_timeout(struct udev_device *udev_device, int event_timeout);
+int udev_device_set_devnum(struct udev_device *udev_device, dev_t devnum);
+int udev_device_set_seqnum(struct udev_device *udev_device, unsigned long long int seqnum);
+int udev_device_get_num_fake_partitions(struct udev_device *udev_device);
+int udev_device_set_num_fake_partitions(struct udev_device *udev_device, int num);
+int udev_device_get_devlink_priority(struct udev_device *udev_device);
+int udev_device_set_devlink_priority(struct udev_device *udev_device, int prio);
+int udev_device_get_ignore_remove(struct udev_device *udev_device);
+int udev_device_set_ignore_remove(struct udev_device *udev_device, int ignore);
+int udev_device_get_watch_handle(struct udev_device *udev_device);
+int udev_device_set_watch_handle(struct udev_device *udev_device, int handle);
+void udev_device_set_info_loaded(struct udev_device *device);