* syslog.cc: Include sys/socket.h.

(try_connect_guard): New static variable.
	(syslogd_inited): Ditto.
	(syslogd_sock): Ditto.
	(try_connect_syslogd): New function to connect and write syslog to
	local syslogd.
	(vsyslog): Log to stderr if LOG_PERROR flag has been given to openlog.
	Try logging to syslogd.  Use Event Log resp. log file as fallback.
	(closelog): Close socket to syslogd.
	* include/sys/syslog.h (_PATH_LOG): Define.
	(INTERNAL_NOPRI): Define if SYSLOG_NAMES is defined.
	(INTERNAL_MARK): Ditto.
	(struct _code): Ditto.
	(prioritynames): Ditto.
	(facilitynames): Ditto.
This commit is contained in:
Corinna Vinschen
2005-04-07 20:16:46 +00:00
parent a5bfc68712
commit 9d61c9a250
3 changed files with 153 additions and 3 deletions

View File

@ -1,6 +1,6 @@
/* sys/syslog.h
Copyright 1996, 1998, 2001 Red Hat, Inc.
Copyright 1996, 1998, 2001, 2005 Red Hat, Inc.
This file is part of Cygwin.
@ -14,6 +14,8 @@ details. */
#include <sys/cdefs.h>
#include <stdarg.h>
#define _PATH_LOG "/dev/log"
#define LOG_EMERG 0
#define LOG_ALERT 1
#define LOG_CRIT 2
@ -55,6 +57,60 @@ details. */
#define LOG_FACMASK 0x03f8
#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3)
#ifdef SYSLOG_NAMES
#define INTERNAL_NOPRI 0x10 /* Maps to "none" */
#define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0) /* Maps to "mark" */
typedef struct _code {
char *c_name;
int c_val;
} CODE;
CODE prioritynames[] = {
{ "alert", LOG_ALERT },
{ "crit", LOG_CRIT },
{ "debug", LOG_DEBUG },
{ "emerg", LOG_EMERG },
{ "err", LOG_ERR },
{ "error", LOG_ERR }, /* Deprecated */
{ "info", LOG_INFO },
{ "none", INTERNAL_NOPRI },
{ "notice", LOG_NOTICE },
{ "panic", LOG_EMERG }, /* Deprecated */
{ "warn", LOG_WARNING }, /* Deprecated */
{ "warning", LOG_WARNING },
{ NULL, -1 }
};
CODE facilitynames[] = {
{ "auth", LOG_AUTH },
{ "authpriv", LOG_AUTHPRIV },
{ "cron", LOG_CRON },
{ "daemon", LOG_DAEMON },
{ "ftp", LOG_FTP },
{ "kern", LOG_KERN },
{ "lpr", LOG_LPR },
{ "mail", LOG_MAIL },
{ "mark", INTERNAL_MARK },
{ "news", LOG_NEWS },
{ "security", LOG_AUTH }, /* Deprecated */
{ "syslog", LOG_SYSLOG },
{ "user", LOG_USER },
{ "uucp", LOG_UUCP },
{ "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, -1 }
};
#endif /* SYSLOG_NAMES */
#define LOG_MASK(pri) (1 << (pri))
#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1)