X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev_rules.h;h=fe0f9dfbb5f0a2bf2e2f89ecd9834d3725799421;hb=41dd741442ab496901c38f6cd38404bd954f1857;hp=4a9cd58484f8b51ca1a07f9990a05da9d39c40a1;hpb=27b77df44daebbd7597c572343105c16de099233;p=elogind.git diff --git a/udev_rules.h b/udev_rules.h index 4a9cd5848..fe0f9dfbb 100644 --- a/udev_rules.h +++ b/udev_rules.h @@ -24,7 +24,7 @@ #include "list.h" #define PAIRS_MAX 5 -#define RULEFILE_SUFFIX ".rules" +#define RULESFILE_SUFFIX ".rules" enum key_operation { KEY_OP_UNSET, @@ -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; @@ -75,20 +81,26 @@ struct udev_rule { struct key result; struct key import; enum import_type import_type; + struct key test; + mode_t test_mode_mask; struct key run; - struct key wait_for_sysfs; + struct key wait_for; struct key label; struct key goto_label; 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; + int event_timeout; unsigned int partitions; unsigned int last_rule:1, + run_ignore_error:1, ignore_device:1, ignore_remove:1; @@ -112,6 +124,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);