-extern struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names);
-extern void udev_rules_unref(struct udev_rules *rules);
-extern int udev_rules_get_name(struct udev_rules *rules, struct udev_event *event);
-extern int udev_rules_get_run(struct udev_rules *rules, struct udev_event *event);
-extern int udev_rules_run(struct udev_event *event);
-extern void udev_rules_apply_format(struct udev_event *event, char *string, size_t maxsize);
+struct udev_rules;
+struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names);
+void udev_rules_unref(struct udev_rules *rules);
+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event);
+
+/* udev-event.c */
+struct udev_event *udev_event_new(struct udev_device *dev);
+void udev_event_unref(struct udev_event *event);
+int udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules);
+int udev_event_execute_run(struct udev_event *event);
+size_t udev_event_apply_format(struct udev_event *event, const char *src, char *dest, size_t size);
+int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
+ char *result, size_t maxsize, int read_value);
+
+/* udev-watch.c */
+int udev_watch_init(struct udev *udev);
+void udev_watch_restore(struct udev *udev);
+void udev_watch_begin(struct udev *udev, struct udev_device *dev);
+void udev_watch_end(struct udev *udev, struct udev_device *dev);
+struct udev_device *udev_watch_lookup(struct udev *udev, int wd);