Index: uspace/lib/c/include/str.h
===================================================================
--- uspace/lib/c/include/str.h	(revision 1c9bf2921b28e891268eafe623bde93bee097636)
+++ uspace/lib/c/include/str.h	(revision bc73be3215c832cdb0c8a5022db800902f9f62dc)
@@ -38,8 +38,4 @@
 #define _LIBC_STR_H_
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include <errno.h>
 #include <stdbool.h>
@@ -48,4 +44,7 @@
 
 #include <mem.h>
+#include <_bits/decls.h>
+
+#ifndef __cplusplus
 
 /* Common Unicode characters */
@@ -63,4 +62,8 @@
  */
 #define SPASCII_STR_BUFSIZE(spa_size) ((spa_size) + 1)
+
+#endif
+
+__HELENOS_DECLS_BEGIN;
 
 extern wchar_t str_decode(const char *str, size_t *offset, size_t sz);
@@ -147,7 +150,5 @@
 extern unsigned long strtoul(const char *, char **, int);
 
-#ifdef __cplusplus
-}
-#endif
+__HELENOS_DECLS_END;
 
 #endif
