X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=daemon.h;h=ca3da140b812b8f5728d426e16bfdd8c40979c8f;hp=4f071361d1675cb2e3416a33b16940874834f223;hb=f189411b9986564c2652ef87e54189e5fa0d5d11;hpb=94c7c613f4c66a36c81edae74a42024015122c16 diff --git a/daemon.h b/daemon.h index 4f071361..ca3da140 100644 --- a/daemon.h +++ b/daemon.h @@ -1,12 +1,34 @@ /** \file daemon.h exported symbols from daemon.c */ -void daemon_init(void); -FILE *open_log(const char *logfile_name); -void close_log(FILE* logfile); -void log_welcome(const char *whoami, int loglevel); -void drop_privileges_or_die(const char *username, const char *groupname); -/** used for server_uptime() */ -enum uptime {UPTIME_SET, UPTIME_GET}; -time_t server_uptime(enum uptime set_or_get); -__malloc char *uptime_str(void); +void daemonize(bool parent_waits); +void daemon_open_log_or_die(void); +void daemon_close_log(void); +void daemon_log_welcome(const char *whoami); +void daemon_drop_privileges_or_die(const char *username, const char *groupname); +void daemon_set_start_time(void); +time_t daemon_get_uptime(const struct timeval *current_time); +__malloc char *daemon_get_uptime_str(const struct timeval *current_time); +void daemon_set_logfile(char *logfile_name); +void daemon_set_flag(unsigned flag); +void daemon_set_loglevel(char *loglevel); +void daemon_init_colors_or_die(int color_arg, int color_arg_auto, + int color_arg_no, bool logfile_given, char **log_color_argv, + int argc); +__printf_2_3 void daemon_log(int ll, const char* fmt,...); + +/** Daemon log configuration flags. */ +enum daemon_flags { + /** Whether the hostname should be logged. */ + DF_LOG_HOSTNAME = 1, + /** Whether the PID should be logged. */ + DF_LOG_PID = 2, + /** Prepend log message with date and time. */ + DF_LOG_TIME = 4, + /** Also print the loglevel for each message. */ + DF_LOG_LL = 8, + /** Use colored output. */ + DF_COLOR_LOG = 16, + /** Include milliseconds in log output. */ + DF_LOG_TIMING = 32 +};