diff options
Diffstat (limited to 'src/lib-master/syslog-util.c')
-rw-r--r-- | src/lib-master/syslog-util.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/lib-master/syslog-util.c b/src/lib-master/syslog-util.c new file mode 100644 index 0000000..58827a8 --- /dev/null +++ b/src/lib-master/syslog-util.c @@ -0,0 +1,65 @@ +/* Copyright (c) 2005-2018 Dovecot authors, see the included COPYING file */ + +#include "lib.h" +#include "syslog-util.h" +#include <syslog.h> + +struct syslog_facility_list syslog_facilities[] = { +#ifdef LOG_AUTH + { "auth", LOG_AUTH }, +#endif +#ifdef LOG_AUTHPRIV + { "authpriv", LOG_AUTHPRIV }, +#endif +#ifdef LOG_CRON + { "cron", LOG_CRON }, +#endif +#ifdef LOG_DAEMON + { "daemon", LOG_DAEMON }, +#endif +#ifdef LOG_FTP + { "ftp", LOG_FTP }, +#endif +#ifdef LOG_KERN + { "kern", LOG_KERN }, +#endif +#ifdef LOG_LPR + { "lpr", LOG_LPR }, +#endif +#ifdef LOG_MAIL + { "mail", LOG_MAIL }, +#endif +#ifdef LOG_NEWS + { "news", LOG_NEWS }, +#endif +#ifdef LOG_SYSLOG + { "syslog", LOG_SYSLOG }, +#endif +#ifdef LOG_UUCP + { "uucp", LOG_UUCP }, +#endif + { "user", LOG_USER }, + { "local0", LOG_LOCAL0 }, + { "local1", LOG_LOCAL1 }, + { "local2", LOG_LOCAL2 }, + { "local3", LOG_LOCAL3 }, + { "local4", LOG_LOCAL4 }, + { "local5", LOG_LOCAL5 }, + { "local6", LOG_LOCAL6 }, + { "local7", LOG_LOCAL7 }, + + { NULL, 0 } +}; + +bool syslog_facility_find(const char *name, int *facility_r) +{ + int i; + + for (i = 0; syslog_facilities[i].name != NULL; i++) { + if (strcmp(syslog_facilities[i].name, name) == 0) { + *facility_r = syslog_facilities[i].facility; + return TRUE; + } + } + return FALSE; +} |