[PATCH 053/114] Add <syslog.h> header for Phoenix.
Jakub Sejdak
jakub.sejdak@phoesys.com
Mon Apr 11 10:36:00 GMT 2016
From: Kuba Sejdak <jakub.sejdak@phoesys.com>
---
newlib/libc/sys/phoenix/include/syslog.h | 137 +++++++++++++++++++++++++++++++
1 file changed, 137 insertions(+)
create mode 100644 newlib/libc/sys/phoenix/include/syslog.h
diff --git a/newlib/libc/sys/phoenix/include/syslog.h b/newlib/libc/sys/phoenix/include/syslog.h
new file mode 100644
index 0000000..a88001e
--- /dev/null
+++ b/newlib/libc/sys/phoenix/include/syslog.h
@@ -0,0 +1,137 @@
+/* Copyright (C) 2012-2016 Phoenix Systems (http://www.phoesys.com/).
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef SYSLOG_H
+#define SYSLOG_H
+
+#include <stdlib.h>
+
+#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 /* Mask to extract priority part (internal) */
+#define LOG_PRI(p) ((p) & LOG_PRIMASK) /* Extract priority */
+#define LOG_MAKEPRI(fac, pri) (((fac) << 3) | (pri))
+
+#ifdef SYSLOG_NAMES
+#define INTERNAL_NOPRI 0x10 /* The "no priority" priority */
+#define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES, 0) /* Mark "facility" */
+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, /* INTERNAL */
+ "notice", LOG_NOTICE,
+ "panic", LOG_EMERG, /* DEPRECATED */
+ "warn", LOG_WARNING, /* DEPRECATED */
+ "warning", LOG_WARNING,
+ NULL, -1,
+};
+#endif
+
+/* 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 */
+#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) /* Facility of pri */
+
+#ifdef SYSLOG_NAMES
+CODE facilitynames[] = {
+ "auth", LOG_AUTH,
+ "authpriv", LOG_AUTHPRIV,
+ "cron", LOG_CRON,
+ "daemon", LOG_DAEMON,
+ "kern", LOG_KERN,
+ "lpr", LOG_LPR,
+ "mail", LOG_MAIL,
+ "mark", INTERNAL_MARK, /* INTERNAL */
+ "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
+
+/* 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 */
+
+void openlog(const char *ident, int option, int facility);
+void syslog(int priority, const char *format, ...);
+void closelog();
+
+#endif
--
2.5.0
More information about the Newlib
mailing list