00001 /* -*-C-*- */ 00002 #ifndef CONFIGURATION_H 00003 #define CONFIGURATION_H 00004 00005 #include <sys/types.h> 00006 #include "environment.h" 00007 00008 #define OPTIONS_LEN_ENV 32 00009 #define OPTIONS_LEN_FNAME 512 00023 typedef struct { 00024 00025 double max_cpuload; 00026 int max_load_intv; 00028 uid_t uid; 00029 gid_t gid; 00030 float update_interval; 00031 int local; 00032 int port; 00033 unsigned int unix_socket_permissions; 00034 char init_command[OPTIONS_LEN_FNAME]; 00035 char pid_file[OPTIONS_LEN_FNAME]; 00036 char authentication; 00038 char log_syslog_enabled; 00039 int log_syslog_level; 00041 /* Maybe extend this for rotating files. */ 00042 Array *environment; 00044 } Configuration; 00045 00046 void configuration_add_environment(Configuration *opt, const char *attr, const char *value); 00047 void configuration_set_attribute(Configuration *opt, const char *attr, const char *value); 00048 00049 Configuration *configuration_create(); 00050 void configuration_destroy(Configuration *conf); 00051 void configuration_clear(Configuration *conf); 00052 void configuration_set_defaults(Configuration *conf); 00053 00054 #endif