Index: kernel/generic/include/console/chardev.h
===================================================================
--- kernel/generic/include/console/chardev.h	(revision 74c8da2cccbb4fc6d0f008bd445bdcecfa733400)
+++ kernel/generic/include/console/chardev.h	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -72,5 +72,5 @@
 typedef struct {
 	/** Write character to output. */
-	void (* write)(struct outdev *, char c, bool silent);
+	void (* write)(struct outdev *, wchar_t c, bool silent);
 } outdev_operations_t;
 
Index: kernel/generic/include/console/console.h
===================================================================
--- kernel/generic/include/console/console.h	(revision 74c8da2cccbb4fc6d0f008bd445bdcecfa733400)
+++ kernel/generic/include/console/console.h	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -53,5 +53,4 @@
 extern uint8_t _getc(indev_t *indev);
 extern count_t gets(indev_t *indev, char *buf, size_t buflen);
-extern void putchar(char c);
 extern unative_t sys_klog(int fd, const void * buf, size_t count);
 
Index: kernel/generic/include/print.h
===================================================================
--- kernel/generic/include/print.h	(revision 74c8da2cccbb4fc6d0f008bd445bdcecfa733400)
+++ kernel/generic/include/print.h	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup generic	
+/** @addtogroup generic
  * @{
  */
@@ -47,9 +47,7 @@
 extern int puts(const char *s);
 extern int printf(const char *fmt, ...);
-extern int sprintf(char *str, const char *fmt, ...);
 extern int snprintf(char *str, size_t size, const char *fmt, ...);
 
 extern int vprintf(const char *fmt, va_list ap);
-extern int vsprintf(char *str, const char *fmt, va_list ap);
 extern int vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
 
Index: kernel/generic/include/printf/printf_core.h
===================================================================
--- kernel/generic/include/printf/printf_core.h	(revision 74c8da2cccbb4fc6d0f008bd445bdcecfa733400)
+++ kernel/generic/include/printf/printf_core.h	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup generic	
+/** @addtogroup generic
  * @{
  */
@@ -36,17 +36,20 @@
 #define KERN_PRINTF_CORE_H_
 
-#include <arch/types.h>
+#include <typedefs.h>
 #include <arch/arg.h>
 
 /** Structure for specifying output methods for different printf clones. */
-struct printf_spec {
-	/* Output function, returns count of printed characters or EOF */
-	int (*write)(void *, size_t, void *);
-	/* Support data - output stream specification, its state, locks,... */
+typedef struct {
+	/* UTF-8 output function, returns number of printed UTF-8 characters or EOF */
+	int (*write_utf8)(const char *, size_t, void *);
+	
+	/* UTF-32 output function, returns number of printed UTF-32 characters or EOF */
+	int (*write_utf32)(const wchar_t *, size_t, void *);
+	
+	/* User data - output stream specification, state, locks, etc. */
 	void *data;
+} printf_spec_t;
 
-};
-
-int printf_core(const char *fmt, struct printf_spec *ps, va_list ap);
+int printf_core(const char *fmt, printf_spec_t *ps, va_list ap);
 
 #endif
Index: kernel/generic/include/putchar.h
===================================================================
--- kernel/generic/include/putchar.h	(revision 74c8da2cccbb4fc6d0f008bd445bdcecfa733400)
+++ kernel/generic/include/putchar.h	(revision e560ae83771ecf9be5a8ba952fb12d932672c732)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup generic	
+/** @addtogroup generic
  * @{
  */
@@ -36,5 +36,5 @@
 #define KERN_PUTCHAR_H_
 
-extern void putchar(const char ch);
+extern void putchar(const wchar_t ch);
 
 #endif
