aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-08-27 09:45:42 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-08-27 09:45:42 +0100
commit6c5aecbf0114c11723431333656516913f976a4c (patch)
tree33ce7f4d5bb61da84bfebd1481452a14a57d17f3 /extras
parentdcd49135032e57a57512b40b5351617131d099c5 (diff)
downloadxen-6c5aecbf0114c11723431333656516913f976a4c.tar.gz
xen-6c5aecbf0114c11723431333656516913f976a4c.tar.bz2
xen-6c5aecbf0114c11723431333656516913f976a4c.zip
stubdom: add syslog functions
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras')
-rw-r--r--extras/mini-os/include/posix/syslog.h37
-rw-r--r--extras/mini-os/lib/sys.c28
2 files changed, 65 insertions, 0 deletions
diff --git a/extras/mini-os/include/posix/syslog.h b/extras/mini-os/include/posix/syslog.h
new file mode 100644
index 0000000000..aabd0e475e
--- /dev/null
+++ b/extras/mini-os/include/posix/syslog.h
@@ -0,0 +1,37 @@
+#ifndef _POSIX_SYSLOG_H
+#define _POSIX_SYSLOG_H
+
+#include <stdarg.h>
+
+#define LOG_PID 0
+#define LOG_CONS 0
+#define LOG_NDELAY 0
+#define LOG_ODELAY 0
+#define LOG_NOWAIT 0
+
+#define LOG_KERN 0
+#define LOG_USER 0
+#define LOG_MAIL 0
+#define LOG_NEWS 0
+#define LOG_UUCP 0
+#define LOG_DAEMON 0
+#define LOG_AUTH 0
+#define LOG_CRON 0
+#define LOG_LPR 0
+
+/* TODO: support */
+#define LOG_EMERG 0
+#define LOG_ALERT 1
+#define LOG_CRIT 2
+#define LOG_ERR 3
+#define LOG_WARNING 4
+#define LOG_NOTICE 5
+#define LOG_INFO 6
+#define LOG_DEBUG 7
+
+void openlog(const char *ident, int option, int facility);
+void syslog(int priority, const char *format, ...);
+void closelog(void);
+void vsyslog(int priority, const char *format, va_list ap);
+
+#endif /* _POSIX_SYSLOG_H */
diff --git a/extras/mini-os/lib/sys.c b/extras/mini-os/lib/sys.c
index 7b6de7e6d7..6267a3bb04 100644
--- a/extras/mini-os/lib/sys.c
+++ b/extras/mini-os/lib/sys.c
@@ -1007,6 +1007,34 @@ LWIP_STUB(ssize_t, sendto, (int s, void *buf, size_t len, int flags, struct sock
LWIP_STUB(int, getsockname, (int s, struct sockaddr *name, socklen_t *namelen), (s, name, namelen))
#endif
+static char *syslog_ident;
+void openlog(const char *ident, int option, int facility)
+{
+ if (syslog_ident)
+ free(syslog_ident);
+ syslog_ident = strdup(ident);
+}
+
+void vsyslog(int priority, const char *format, va_list ap)
+{
+ printk("%s: ", syslog_ident);
+ print(0, format, ap);
+}
+
+void syslog(int priority, const char *format, ...)
+{
+ va_list ap;
+ va_start(ap, format);
+ vsyslog(priority, format, ap);
+ va_end(ap);
+}
+
+void closelog(void)
+{
+ free(syslog_ident);
+ syslog_ident = NULL;
+}
+
int nanosleep(const struct timespec *req, struct timespec *rem)
{
s_time_t start = NOW();