chiark / gitweb /
Cleanup a little.
[elogind.git] / udev / udev.h
index faa1bf68516cb6737c4f8069bcd8008101aba58c..57e2d73c2e656aea65f0180a66dad0449be6b786 100644 (file)
 #include "lib/libudev.h"
 #include "lib/libudev-private.h"
 
-#define ALLOWED_CHARS                          "#+-.:=@_"
-#define ALLOWED_CHARS_FILE                     ALLOWED_CHARS "/"
-#define ALLOWED_CHARS_INPUT                    ALLOWED_CHARS_FILE " $%?,"
-
 #define DEFAULT_FAKE_PARTITIONS_COUNT          15
 #define UDEV_EVENT_TIMEOUT                     180
 
@@ -71,6 +67,7 @@ struct udev_event {
        pid_t pid;
        int exitstatus;
        time_t queue_time;
+       unsigned long long int delaying_seqnum;
        unsigned int group_final:1;
        unsigned int owner_final:1;
        unsigned int mode_final:1;
@@ -78,7 +75,14 @@ struct udev_event {
        unsigned int devlink_final:1;
        unsigned int run_final:1;
        unsigned int ignore_device:1;
-       unsigned int test:1;
+       unsigned int inotify_watch:1;
+       unsigned int trace:1;
+};
+
+struct udev_watch {
+       struct udev_list_node node;
+       int handle;
+       char *name;
 };
 
 /* udev-rules.c */
@@ -96,11 +100,20 @@ extern void udev_event_apply_format(struct udev_event *event, char *string, size
 extern int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
                                          char *result, size_t maxsize, int read_value);
 
+/* udev-watch.c */
+extern int inotify_fd;
+extern void udev_watch_init(struct udev *udev);
+extern void udev_watch_restore(struct udev *udev);
+extern void udev_watch_begin(struct udev *udev, struct udev_device *dev);
+extern void udev_watch_clear(struct udev *udev, struct udev_device *dev);
+extern void udev_watch_end(struct udev *udev, int wd);
+extern const char *udev_watch_lookup(struct udev *udev, int wd);
+
 /* 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, uid_t uid, gid_t gid, 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);
+extern int udev_node_add(struct udev_device *dev, mode_t mode, uid_t uid, gid_t gid);
+extern int udev_node_remove(struct udev_device *dev);
+extern void udev_node_update_old_links(struct udev_device *dev, struct udev_device *dev_old);
 
 /* udev-util.c */
 extern int util_create_path(struct udev *udev, const char *path);