chiark / gitweb /
allow setting of MODE="0000"
[elogind.git] / udev_rules.h
index 0e1ff76b42152439284114842ff32e2cf56bc35d..a84b0de83760fdf57fb92dc2e5312d084e18eff0 100644 (file)
@@ -57,6 +57,12 @@ enum import_type {
        IMPORT_PARENT,
 };
 
+enum escape_type {
+       ESCAPE_UNSET,
+       ESCAPE_NONE,
+       ESCAPE_REPLACE,
+};
+
 struct udev_rule {
        struct key action;
        struct key devpath;
@@ -84,14 +90,16 @@ struct udev_rule {
 
        struct key name;
        struct key symlink;
+       struct key symlink_match;
        struct key owner;
        struct key group;
-       mode_t mode;
-       enum key_operation mode_operation;
+       struct key mode;
+       enum escape_type string_escape;
 
        unsigned int link_priority;
        unsigned int partitions;
        unsigned int last_rule:1,
+                    run_ignore_error:1,
                     ignore_device:1,
                     ignore_remove:1;
 
@@ -115,6 +123,7 @@ extern struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, const c
 
 extern int udev_rules_get_name(struct udev_rules *rules, struct udevice *udev);
 extern int udev_rules_get_run(struct udev_rules *rules, struct udevice *udev);
+extern int udev_rules_run(struct udevice *udev);
 
 extern void udev_rules_apply_format(struct udevice *udev, char *string, size_t maxsize);