diff options
author | Kay Sievers <kay.sievers@suse.de> | 2005-06-05 05:11:29 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@suse.de> | 2005-06-05 05:11:29 +0200 |
commit | 6a522681e1438bbd9c317654cc35d5d206d378ad (patch) | |
tree | 8a580e47fcd69bd32c9cfb354c5e74e777519300 /udev_utils.c | |
parent | c974742bf4d6d8fab1e1c90e2e57dae0a2f297a1 (diff) |
udev: move dev.d/ handling to external helper
Modern rules are expected to call notification and postprocessing with
the RUN key. For compatibility the current behavior can be emulated
with an external helper.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
Diffstat (limited to 'udev_utils.c')
-rw-r--r-- | udev_utils.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/udev_utils.c b/udev_utils.c index 74b55ed406..70b20e3a28 100644 --- a/udev_utils.c +++ b/udev_utils.c @@ -27,6 +27,7 @@ #include <errno.h> #include <ctype.h> #include <dirent.h> +#include <syslog.h> #include <sys/wait.h> #include <sys/stat.h> #include <sys/mman.h> @@ -109,6 +110,37 @@ void udev_cleanup_device(struct udevice *udev) } } +int string_is_true(const char *str) +{ + if (strcasecmp(str, "true") == 0) + return 1; + if (strcasecmp(str, "yes") == 0) + return 1; + if (strcasecmp(str, "1") == 0) + return 1; + return 0; +} + +int log_priority(const char *priority) +{ + char *endptr; + int prio; + + prio = strtol(priority, &endptr, 10); + if (endptr[0] == '\0') + return prio; + if (strncasecmp(priority, "err", 3) == 0) + return LOG_ERR; + if (strcasecmp(priority, "info") == 0) + return LOG_INFO; + if (strcasecmp(priority, "debug") == 0) + return LOG_DEBUG; + if (string_is_true(priority)) + return LOG_ERR; + + return 0; +} + int kernel_release_satisfactory(unsigned int version, unsigned int patchlevel, unsigned int sublevel) { static unsigned int kversion = 0; |