From b2cb8d6fb456f3bfe39d746b79a0fbede94f5666 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 4 Jun 2012 15:26:12 +0200 Subject: libcsupport: Add rtems_printf_plugin() --- cpukit/include/rtems/bspIo.h | 2 ++ cpukit/libcsupport/Makefile.am | 1 + cpukit/libcsupport/src/printf_plugin.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 cpukit/libcsupport/src/printf_plugin.c 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 + * + * + * 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 + +#include + +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; +} -- cgit v1.2.3