summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/src/print_printf.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libcsupport/src/print_printf.c')
-rw-r--r--cpukit/libcsupport/src/print_printf.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/print_printf.c b/cpukit/libcsupport/src/print_printf.c
new file mode 100644
index 0000000000..c8695234c0
--- /dev/null
+++ b/cpukit/libcsupport/src/print_printf.c
@@ -0,0 +1,52 @@
+/**
+ * @file
+ *
+ * @brief RTEMS Print Support
+ * @ingroup libcsupport
+ */
+
+/*
+ * Copyright (c) 2016 Chris Johns <chrisj@rtems.org>
+ * All rights reserved.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#include <rtems/print.h>
+
+#include <stdio.h>
+
+int rtems_vprintf(
+ const rtems_printer *printer,
+ const char *format,
+ va_list ap
+)
+{
+ int len = 0;
+ if ( rtems_print_printer_valid( printer ) ) {
+ len = printer->printer( printer->context, format, ap );
+ }
+ return len;
+}
+
+int rtems_printf(
+ const rtems_printer *printer,
+ const char *format,
+ ...
+)
+{
+ int len = 0;
+ if ( rtems_print_printer_valid( printer ) ) {
+ va_list ap;
+ va_start( ap, format );
+ len = printer->printer( printer->context, format, ap );
+ va_end( ap );
+ }
+ return len;
+}