summaryrefslogtreecommitdiffstats
path: root/src/daemon/settings_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/settings_private.h')
-rw-r--r--src/daemon/settings_private.h37
1 files changed, 32 insertions, 5 deletions
diff --git a/src/daemon/settings_private.h b/src/daemon/settings_private.h
index 7839cb9..69ed25a 100644
--- a/src/daemon/settings_private.h
+++ b/src/daemon/settings_private.h
@@ -23,7 +23,7 @@
#define USURPATION_SETTINGS_PRIVATE_H
#ifndef USURP_VERBOSITY
- #define USURP_VERBOSITY 1
+ #define USURP_VERBOSITY ERR
#endif
static const unsigned int flag_daemonize = 1 << 0; /* 1st bit */
@@ -31,11 +31,38 @@ static const unsigned int flag_daemonize = 1 << 0; /* 1st bit */
static struct settings {
unsigned int flags;
unsigned short int port;
- int verbosity;
+ enum verbosity verboselevel;
+ char *progname;
+ char *im_user;
+ char *im_password;
+ char *im_proto;
} settings;
-int test_flag(unsigned int flag);
-void set_flag(unsigned int flag);
-void unset_flag(unsigned int flag);
+struct entry_description {
+ const char * const name;
+ void (*set)(const void * const);
+};
+
+static int test_flag(unsigned int flag);
+static void set_flag(unsigned int flag);
+static void unset_flag(unsigned int flag);
+static int setting_readconf(const char * const path);
+static int setting_handle_config_entry(const char * const entry, const char * const value);
+
+static void set_daemonize(const void * const arg);
+static void set_port(const void * const arg);
+static void set_verbosity(const void * const arg);
+static void set_progname(const void * const arg);
+static void set_im_user(const void * const arg);
+static void set_im_password(const void * const arg);
+static void set_im_proto(const void * const arg);
+
+struct entry_description ent_table[] = {{ "daemonize", set_daemonize },
+ { "port", set_port },
+ { "verbosity", set_verbosity },
+ { "progname", set_progname },
+ { "user", set_im_user},
+ { "password", set_im_password },
+ { "proto", set_im_proto }};
#endif /* USURPATION_SETTINGS_PRIVATE_H */