1/* This file is part of Mailfromd. -*- c -*- 2 Copyright (C) 2006-2021 Sergey Poznyakoff 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3, or (at your option) 7 any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17MF_BUILTIN_MODULE 18 19#include "syslog.h" 20#include "mflib/syslog.h" 21 22static struct builtin_const_trans syslog_prio[] = { 23 MF_TRANS(LOG_EMERG), 24 MF_TRANS(LOG_ALERT), 25 MF_TRANS(LOG_CRIT), 26 MF_TRANS(LOG_ERR), 27 MF_TRANS(LOG_WARNING), 28 MF_TRANS(LOG_NOTICE), 29 MF_TRANS(LOG_INFO), 30 MF_TRANS(LOG_DEBUG) 31}; 32 33static struct builtin_const_trans syslog_fac[] = { 34 MF_TRANS(LOG_KERN), 35 MF_TRANS(LOG_USER), 36 MF_TRANS(LOG_MAIL), 37 MF_TRANS(LOG_DAEMON), 38 MF_TRANS(LOG_AUTH), 39 MF_TRANS(LOG_SYSLOG), 40 MF_TRANS(LOG_LPR), 41 MF_TRANS(LOG_NEWS), 42 MF_TRANS(LOG_UUCP), 43 MF_TRANS(LOG_CRON), 44 MF_TRANS(LOG_AUTHPRIV), 45 MF_TRANS(LOG_FTP), 46 MF_TRANS(LOG_LOCAL0), 47 MF_TRANS(LOG_LOCAL1), 48 MF_TRANS(LOG_LOCAL2), 49 MF_TRANS(LOG_LOCAL3), 50 MF_TRANS(LOG_LOCAL4), 51 MF_TRANS(LOG_LOCAL5), 52 MF_TRANS(LOG_LOCAL6), 53 MF_TRANS(LOG_LOCAL7), 54}; 55 56MF_DEFUN(syslog, VOID, NUMBER priority, STRING text) 57{ 58 int prio = 0; 59 int f = 0; 60 61 prio = priority & _MFL_LOG_PRIMASK; 62 _builtin_const_to_c(syslog_prio, MU_ARRAY_SIZE(syslog_prio), 63 prio, &prio); 64 65 f = priority & ~_MFL_LOG_PRIMASK; 66 _builtin_const_to_c(syslog_fac, MU_ARRAY_SIZE(syslog_fac), 67 f, &f); 68 logger_text(prio | f, text); 69} 70END 71 72