summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-06-04 15:26:12 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-06-04 17:30:21 +0200
commitb2cb8d6fb456f3bfe39d746b79a0fbede94f5666 (patch)
treee775c5f74e08d36b3bdc7a4b1e21b6c0c6199a63
parentlibtests/block13: Add const qualifier (diff)
downloadrtems-b2cb8d6fb456f3bfe39d746b79a0fbede94f5666.tar.bz2
libcsupport: Add rtems_printf_plugin()
-rw-r--r--cpukit/include/rtems/bspIo.h2
-rw-r--r--cpukit/libcsupport/Makefile.am1
-rw-r--r--cpukit/libcsupport/src/printf_plugin.c33
3 files changed, 36 insertions, 0 deletions
diff --git a/cpukit/include/rtems/bspIo.h b/cpukit/include/rtems/bspIo.h
index 4fe7da3287..d5a004a7cc 100644
--- a/cpukit/include/rtems/bspIo.h
+++ b/cpukit/include/rtems/bspIo.h
@@ -64,6 +64,8 @@ extern void putk(const char *s);
*/
extern int printk_plugin(void *context, const char *fmt, ...);
+extern int rtems_printf_plugin(void *context, const char *fmt, ...);
+
/*
* Type definition for function which can be plugged in to
* certain reporting routines to redirect the output
diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
index 46805e9080..ae233381a1 100644
--- a/cpukit/libcsupport/Makefile.am
+++ b/cpukit/libcsupport/Makefile.am
@@ -120,6 +120,7 @@ BSD_LIBC_C_FILES = src/strlcpy.c src/strlcat.c src/issetugid.c
libcsupport_a_SOURCES = src/gxx_wrappers.c src/getchark.c src/printk.c \
src/printk_plugin.c src/putk.c src/vprintk.c \
+ src/printf_plugin.c \
src/sup_fs_location.c \
src/sup_fs_eval_path.c \
src/sup_fs_eval_path_generic.c \
diff --git a/cpukit/libcsupport/src/printf_plugin.c b/cpukit/libcsupport/src/printf_plugin.c
new file mode 100644
index 0000000000..87913277f9
--- /dev/null
+++ b/cpukit/libcsupport/src/printf_plugin.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#include <rtems/bspIo.h>
+
+#include <stdio.h>
+
+int rtems_printf_plugin(void *context, const char *format, ...)
+{
+ int rv;
+ va_list ap;
+
+ va_start(ap, format);
+ rv = vprintf(format, ap);
+ va_end(ap);
+
+ return rv;
+}