#ifndef __WCHAR_H
#define __WCHAR_H __WCHAR_H
-// TODO: Documentation, C++ handling
+// TODO: Documentation
// ----------------------------------------------------------------------------
// MACROS
-#define NULL 0
-#define WCHAR_MAX // TODO - personality?
-#define WCHAR_MIN // TODO - personality?
+#include "__NULL.h"
+#include "__WCHAR.h"
+
#define WEOF // TODO - personality?
// ----------------------------------------------------------------------------
// TYPEDEFS
+#include "__tm.h"
+#include "__size_t.h"
+#include "__wchar_t.h"
+#include "__wint_t.h"
+
typedef mbstate_t; // TODO - personality?
typedef size_t; // TODO - personality?
typedef wint_t; // TODO - personality?
-struct tm; // TODO - personality?
-
-#ifndef __cplusplus
-typedef wchar_t; // TODO - personality?
-#endif // __cplusplus
// ----------------------------------------------------------------------------
// FUNCTIONS
wchar_t * wmemmove( wchar_t * s1, const wchar_t * s2, size_t n );
wchar_t * wmemset( wchar_t * s, wchar_t c, size_t n );
-#ifdef __cplusplus
-
-const wchar_t * wcschr( const wchar_t * s, wchar_t c );
-wchar_t * wcschr( wchar_t * s, wchar_t c );
-const wchar_t * wcspbrk( const wchar_t * s1, const wchar_t * s2 );
-wchar_t * wcspbrk( wchar_t * s1, const wchar_t * s2 );
-const wchar_t * wcsrchr( const wchar_t * s, wchar_t c );
-wchar_t * wcsrchr( wchar_t * s, wchar_t c );
-const wchar_t * wcsstr( const wchar_t * s1, const wchar_t * s2 );
-wchar_t * wcsstr( wchar_t * s1, const wchar_t * s2 );
-const wchar_t * wmemchr( const wchar_t * s, wchar_t c, size_t n );
-wchar_t * wmemchr( wchar_t * s, wchar_t c, size_t n );
-
-#else
-
wchar_t * wcschr( const wchar_t * s, wchar_t c );
wchar_t * wcspbrk( const wchar_t * s1, const wchar_t * s2 );
wchar_t * wcsrchr( const wchar_t * s, wchar_t c );
wchar_t * wcsstr( const wchar_t * s1, const wchar_t * s2 );
wchar_t * wmemchr( const wchar_t * s, wchar_t c, size_t n);
-#endif // __cplusplus
-
#endif // __WCHAR_H