| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 | /* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date           Author       Notes * 2018-09-07     armink       the first version */#ifndef _SYSLOG_H_#define _SYSLOG_H_#ifdef __cplusplusextern "C" {#endif/* * priorities/facilities are encoded into a single 32-bit quantity, where the * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility * (0-big number).  Both the priorities and the facilities map roughly * one-to-one to strings in the syslogd(8) source code.  This mapping is * included in this file. * * priorities (these are ordered) */#define LOG_EMERG   0   /* system is unusable */#define LOG_ALERT   1   /* action must be taken immediately */#define LOG_CRIT    2   /* critical conditions */#define LOG_ERR     3   /* error conditions */#define LOG_WARNING 4   /* warning conditions */#define LOG_NOTICE  5   /* normal but significant condition */#define LOG_INFO    6   /* informational */#define LOG_DEBUG   7   /* debug-level messages */#define LOG_PRIMASK 0x07#define LOG_PRI(p)              ((p) & LOG_PRIMASK)#define LOG_MAKEPRI(fac, pri)   (((fac) << 3) | (pri))/* facility codes */#define LOG_KERN        (0<<3)  /* kernel messages */#define LOG_USER        (1<<3)  /* random user-level messages */#define LOG_MAIL        (2<<3)  /* mail system */#define LOG_DAEMON      (3<<3)  /* system daemons */#define LOG_AUTH        (4<<3)  /* security/authorization messages */#define LOG_SYSLOG      (5<<3)  /* messages generated internally by syslogd */#define LOG_LPR         (6<<3)  /* line printer subsystem */#define LOG_NEWS        (7<<3)  /* network news subsystem */#define LOG_UUCP        (8<<3)  /* UUCP subsystem */#define LOG_CRON        (9<<3)  /* clock daemon */#define LOG_AUTHPRIV    (10<<3) /* security/authorization messages (private) *//* other codes through 15 reserved for system use */#define LOG_LOCAL0      (16<<3) /* reserved for local use */#define LOG_LOCAL1      (17<<3) /* reserved for local use */#define LOG_LOCAL2      (18<<3) /* reserved for local use */#define LOG_LOCAL3      (19<<3) /* reserved for local use */#define LOG_LOCAL4      (20<<3) /* reserved for local use */#define LOG_LOCAL5      (21<<3) /* reserved for local use */#define LOG_LOCAL6      (22<<3) /* reserved for local use */#define LOG_LOCAL7      (23<<3) /* reserved for local use */#define LOG_NFACILITIES 24  /* current number of facilities */#define LOG_FACMASK     0x03f8  /* mask to extract facility part *//* facility of pri */#define LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)/* * arguments to setlogmask. */#define LOG_MASK(pri)   (1 << (pri))        /* mask for one priority */#define LOG_UPTO(pri)   ((1 << ((pri)+1)) - 1)  /* all priorities through pri *//* * Option flags for openlog. * * LOG_ODELAY no longer does anything. * LOG_NDELAY is the inverse of what it used to be. */#define LOG_PID         0x01    /* log the pid with each message */#define LOG_CONS        0x02    /* log on the console if errors in sending */#define LOG_ODELAY      0x04    /* delay open until first syslog() (default) */#define LOG_NDELAY      0x08    /* don't delay open */#define LOG_NOWAIT      0x10    /* don't wait for console forks: DEPRECATED */#define LOG_PERROR      0x20    /* log to stderr as well */#include <stdarg.h>void closelog(void);void openlog(const char *ident, int option, int facility);int setlogmask(int mask);void syslog(int priority, const char *format, ...);void vsyslog(int priority, const char *format, va_list args);#ifdef __cplusplus}#endif#endif /* _SYSLOG_H_ */
 |