590 lines
24 KiB
D
590 lines
24 KiB
D
/**
|
|
* D header file for POSIX system logger API.
|
|
* (http://pubs.opengroup.org/onlinepubs/007904875/basedefs/syslog.h.html)
|
|
*
|
|
* Copyright: Copyright Adil Baig 2013.
|
|
* License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
|
|
* Authors: Adil Baig
|
|
* Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
|
|
*/
|
|
|
|
/* Copyright Adil Baig 2013.
|
|
* Distributed under the Boost Software License, Version 1.0.
|
|
* (See accompanying file LICENSE or copy at
|
|
* http://www.boost.org/LICENSE_1_0.txt)
|
|
*/
|
|
module core.sys.posix.syslog;
|
|
|
|
version (OSX)
|
|
version = Darwin;
|
|
else version (iOS)
|
|
version = Darwin;
|
|
else version (TVOS)
|
|
version = Darwin;
|
|
else version (WatchOS)
|
|
version = Darwin;
|
|
|
|
version (Posix):
|
|
|
|
extern (C) nothrow @nogc:
|
|
@system:
|
|
|
|
version (CRuntime_Glibc)
|
|
{
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (Darwin)
|
|
{
|
|
//http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/osfmk/sys/syslog.h
|
|
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (FreeBSD)
|
|
{
|
|
//http://fxr.watson.org/fxr/source/sys/syslog.h
|
|
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
LOG_NTP = (12<<3), /* NTP subsystem */
|
|
LOG_SECURITY = (13<<3), /* security subsystems (firewalling, etc.) */
|
|
LOG_CONSOLE = (14<<3), /* /dev/console output */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (NetBSD)
|
|
{
|
|
//http://fxr.watson.org/fxr/source/sys/syslog.h
|
|
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
LOG_NTP = (12<<3), /* NTP subsystem */
|
|
LOG_SECURITY = (13<<3), /* security subsystems (firewalling, etc.) */
|
|
LOG_CONSOLE = (14<<3), /* /dev/console output */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (OpenBSD)
|
|
{
|
|
//PRIORITY
|
|
enum
|
|
{
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum
|
|
{
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum
|
|
{
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
// OpenBSD does not define the following:
|
|
//LOG_NTP
|
|
//LOG_SECURITY
|
|
//LOG_CONSOLE
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
extern(D) int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
extern(D) int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog(const char *, int, int);
|
|
int setlogmask(int);
|
|
void syslog(int, const char *, ...);
|
|
void closelog();
|
|
}
|
|
else version (DragonFlyBSD)
|
|
{
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
LOG_NTP = (12<<3), /* NTP subsystem */
|
|
LOG_SECURITY = (13<<3), /* security subsystems (firewalling, etc.) */
|
|
LOG_CONSOLE = (14<<3), /* /dev/console output */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (Solaris)
|
|
{
|
|
//http://pubs.opengroup.org/onlinepubs/007904875/basedefs/syslog.h.html
|
|
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (CRuntime_UClibc)
|
|
{
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|
|
else version (CRuntime_Musl)
|
|
{
|
|
//PRIORITY
|
|
enum {
|
|
LOG_EMERG = 0, /* system is unusable */
|
|
LOG_ALERT = 1, /* action must be taken immediately */
|
|
LOG_CRIT = 2, /* critical conditions */
|
|
LOG_ERR = 3, /* error conditions */
|
|
LOG_WARNING = 4, /* warning conditions */
|
|
LOG_NOTICE = 5, /* normal but significant condition */
|
|
LOG_INFO = 6, /* informational */
|
|
LOG_DEBUG = 7, /* debug-level messages */
|
|
}
|
|
|
|
//OPTIONS
|
|
enum {
|
|
LOG_PID = 0x01, /* log the pid with each message */
|
|
LOG_CONS = 0x02, /* log on the console if errors in sending */
|
|
LOG_ODELAY = 0x04, /* delay open until first syslog() (default) */
|
|
LOG_NDELAY = 0x08, /* don't delay open */
|
|
LOG_NOWAIT = 0x10, /* don't wait for console forks: DEPRECATED */
|
|
LOG_PERROR = 0x20, /* log to stderr as well */
|
|
}
|
|
|
|
//FACILITY
|
|
enum {
|
|
LOG_KERN = (0<<3), /* kernel messages */
|
|
LOG_USER = (1<<3), /* random user-level messages */
|
|
LOG_MAIL = (2<<3), /* mail system */
|
|
LOG_DAEMON = (3<<3), /* system daemons */
|
|
LOG_AUTH = (4<<3), /* security/authorization messages */
|
|
LOG_SYSLOG = (5<<3), /* messages generated internally by syslogd */
|
|
LOG_LPR = (6<<3), /* line printer subsystem */
|
|
LOG_NEWS = (7<<3), /* network news subsystem */
|
|
LOG_UUCP = (8<<3), /* UUCP subsystem */
|
|
LOG_CRON = (9<<3), /* clock daemon */
|
|
LOG_AUTHPRIV = (10<<3), /* security/authorization messages (private), */
|
|
LOG_FTP = (11<<3), /* ftp daemon */
|
|
|
|
/* other codes through 15 reserved for system use */
|
|
LOG_LOCAL0 = (16<<3), /* reserved for local use */
|
|
LOG_LOCAL1 = (17<<3), /* reserved for local use */
|
|
LOG_LOCAL2 = (18<<3), /* reserved for local use */
|
|
LOG_LOCAL3 = (19<<3), /* reserved for local use */
|
|
LOG_LOCAL4 = (20<<3), /* reserved for local use */
|
|
LOG_LOCAL5 = (21<<3), /* reserved for local use */
|
|
LOG_LOCAL6 = (22<<3), /* reserved for local use */
|
|
LOG_LOCAL7 = (23<<3), /* reserved for local use */
|
|
|
|
LOG_NFACILITIES = 24, /* current number of facilities */
|
|
}
|
|
|
|
int LOG_MASK(int pri) { return 1 << pri; } /* mask for one priority */
|
|
int LOG_UPTO(int pri) { return (1 << (pri+1)) - 1; } /* all priorities through pri */
|
|
|
|
void openlog (const char *, int __option, int __facility);
|
|
int setlogmask (int __mask);
|
|
void syslog (int __pri, const char *__fmt, ...);
|
|
void closelog();
|
|
}
|