-/* udev_device.c */
-extern struct udevice *udev_device_init(struct udev *udev);
-extern void udev_device_cleanup(struct udevice *udevice);
-extern dev_t udev_device_get_devt(struct udevice *udevice);
-
-/* udev_device_event.c */
-extern int udev_device_event(struct udev_rules *rules, struct udevice *udevice);
-
-/* udev_sysfs.c */
-extern int sysfs_init(void);
-extern void sysfs_cleanup(void);
-extern void sysfs_device_set_values(struct udev *udev,
- struct sysfs_device *dev, const char *devpath,
- const char *subsystem, const char *driver);
-extern struct sysfs_device *sysfs_device_get(struct udev *udev, const char *devpath);
-extern struct sysfs_device *sysfs_device_get_parent(struct udev *udev, struct sysfs_device *dev);
-extern struct sysfs_device *sysfs_device_get_parent_with_subsystem(struct udev *udev, struct sysfs_device *dev, const char *subsystem);
-extern char *sysfs_attr_get_value(struct udev *udev, const char *devpath, const char *attr_name);
-extern int sysfs_lookup_devpath_by_subsys_id(struct udev *udev, char *devpath, size_t len, const char *subsystem, const char *id);
-
-/* udev_node.c */
-extern int udev_node_mknod(struct udevice *udevice, const char *file, dev_t devt, mode_t mode, uid_t uid, gid_t gid);
-extern void udev_node_update_symlinks(struct udevice *udevice, struct udevice *udev_old);
-extern int udev_node_add(struct udevice *udevice);
-extern int udev_node_remove(struct udevice *udevice);
-
-/* udev_db.c */
-extern int udev_db_add_device(struct udevice *udevice);
-extern int udev_db_delete_device(struct udevice *udevice);
-extern int udev_db_rename(struct udev *udev, const char *devpath_old, const char *devpath);
-extern int udev_db_get_device(struct udevice *udevice, const char *devpath);
-extern int udev_db_get_devices_by_name(struct udev *udev, const char *name, struct list_head *name_list);
-
-/* udev_utils.c */
+/* udev-event.c */
+struct udev_event {
+ struct udev *udev;
+ struct udev_device *dev;
+ struct udev_device *dev_parent;
+ int devlink_final;
+ int owner_final;
+ int group_final;
+ int mode_final;
+ char tmp_node[UTIL_PATH_SIZE];
+ char program_result[UTIL_PATH_SIZE];
+ int run_final;
+
+ char name[UTIL_PATH_SIZE];
+ mode_t mode;
+ char owner[UTIL_NAME_SIZE];
+ char group[UTIL_NAME_SIZE];
+ struct udev_list_node run_list;
+ int ignore_device;
+ int test;
+
+ struct list_head node;
+ pid_t pid;
+ int exitstatus;
+ time_t queue_time;
+};
+extern struct udev_event *udev_event_new(struct udev_device *dev);
+extern void udev_event_unref(struct udev_event *event);
+extern int udev_event_run(struct udev_event *event, struct udev_rules *rules);
+
+/* udev-node.c */
+extern int udev_node_mknod(struct udev_device *dev, const char *file, dev_t devnum, mode_t mode, uid_t uid, gid_t gid);
+extern int udev_node_add(struct udev_device *dev, mode_t mode, const char *owner, const char *group, int test);
+extern int udev_node_remove(struct udev_device *dev, int test);
+extern void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev_old, int test);
+
+/* udev-util.c */