Index: common/include/printf_core.h
===================================================================
--- common/include/printf_core.h	(revision 696b405386c8f231d8955f78acc39dd81137ea5c)
+++ common/include/printf_core.h	(revision 6120b7ba197ea476787bce9a6b086bd533f93606)
@@ -36,15 +36,17 @@
 #define _LIBC_PRINTF_CORE_H_
 
+#include <errno.h>
+#include <stdarg.h>
 #include <stddef.h>
-#include <stdarg.h>
 #include <uchar.h>
 
 /** Structure for specifying output methods for different printf clones. */
 typedef struct {
-	/* String output function, returns number of printed characters or EOF */
-	int (*str_write)(const char *, size_t, void *);
-
-	/* Wide string output function, returns number of printed characters or EOF */
-	int (*wstr_write)(const char32_t *, size_t, void *);
+	/*
+	 * String output function, returns EOK on success.
+	 * Only returns an error when an irrecoverable failure occurs and
+	 * the string cannot be fully output.
+	 */
+	errno_t (*write)(const char *, size_t, void *);
 
 	/* User data - output stream specification, state, locks, etc. */
