From e8bacccab296d6b75c4c9f43cb4e71007aff5b8a Mon Sep 17 00:00:00 2001 From: "greg@kroah.com" Date: Wed, 3 Dec 2003 01:08:46 -0800 Subject: [PATCH] add support for a main udev config file, udev.conf. the older udev.config file is now called udev.rules. This allows us to better control configuration values, and move away from the environment variables. --- udev.c | 60 +++++++++--------------------------------------------------- 1 file changed, 9 insertions(+), 51 deletions(-) (limited to 'udev.c') diff --git a/udev.c b/udev.c index 094905ec..272afbab 100644 --- a/udev.c +++ b/udev.c @@ -27,6 +27,7 @@ #include #include #include +#include #include "udev.h" #include "udev_version.h" @@ -39,11 +40,13 @@ char **main_argv; char **main_envp; char sysfs_path[SYSFS_PATH_MAX]; -char *udev_config_dir = UDEV_CONFIG_DIR; -char *udev_root = UDEV_ROOT; +char udev_config_dir[PATH_MAX]; +char udev_root[PATH_MAX]; char udev_db_filename[PATH_MAX+NAME_MAX]; -char udev_config_permission_filename[PATH_MAX+NAME_MAX]; +char udev_permission_filename[PATH_MAX+NAME_MAX]; +char udev_rules_filename[PATH_MAX+NAME_MAX]; char udev_config_filename[PATH_MAX+NAME_MAX]; +char default_mode_str[NAME_MAX]; static inline char *get_action(void) @@ -70,53 +73,6 @@ static inline char *get_seqnum(void) return seqnum; } -static void get_dirs(void) -{ - char *temp; - char *udev_db = UDEV_DB; - char *udev_config = UDEV_CONFIG_FILE; - char *udev_permission = UDEV_CONFIG_PERMISSION_FILE; - int retval; - - retval = sysfs_get_mnt_path(sysfs_path, SYSFS_PATH_MAX); - if (retval) - dbg("sysfs_get_mnt_path failed"); - - /* see if we should try to override any of the default values */ - temp = getenv("UDEV_TEST"); - if (temp != NULL) { - /* hm testing is happening, use the specified values, if they are present */ - temp = getenv("SYSFS_PATH"); - if (temp) - strncpy(sysfs_path, temp, sizeof(sysfs_path)); - temp = getenv("UDEV_CONFIG_DIR"); - if (temp) - udev_config_dir = temp; - temp = getenv("UDEV_ROOT"); - if (temp) - udev_root = temp; - temp = getenv("UDEV_DB"); - if (temp) - udev_db = temp; - temp = getenv("UDEV_CONFIG_FILE"); - if (temp) - udev_config = temp; - temp = getenv("UDEV_PERMISSION_FILE"); - if (temp) - udev_permission = temp; - } - dbg("sysfs_path='%s'", sysfs_path); - - strncpy(udev_db_filename, udev_root, sizeof(udev_db_filename)); - strncat(udev_db_filename, udev_db, sizeof(udev_db_filename)); - - strncpy(udev_config_filename, udev_config_dir, sizeof(udev_config_filename)); - strncat(udev_config_filename, udev_config, sizeof(udev_config_filename)); - - strncpy(udev_config_permission_filename, udev_config_dir, sizeof(udev_config_permission_filename)); - strncat(udev_config_permission_filename, udev_permission, sizeof(udev_config_permission_filename)); -} - int main(int argc, char **argv, char **envp) { char *action; @@ -162,8 +118,10 @@ int main(int argc, char **argv, char **envp) goto exit; } + /* initialize our configuration */ + udev_init_config(); + /* initialize udev database */ - get_dirs(); retval = udevdb_init(UDEVDB_DEFAULT); if (retval != 0) { dbg("unable to initialize database"); -- cgit 1.2.3-korg