Index: uspace/lib/c/include/ctype.h
===================================================================
--- uspace/lib/c/include/ctype.h	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/c/include/ctype.h	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -61,4 +61,24 @@
 }
 
+static inline int isblank(int c)
+{
+	return c == ' ' || c == '\t';
+}
+
+static inline int iscntrl(int c)
+{
+	return (c >= 0 && c < 0x20) || c == 0x7E;
+}
+
+static inline int isprint(int c)
+{
+	return c >= 0 && c < 0x80 && !iscntrl(c);
+}
+
+static inline int isgraph(int c)
+{
+	return isprint(c) && c != ' ';
+}
+
 static inline int isspace(int c)
 {
@@ -75,4 +95,16 @@
 		return 0;
 	}
+}
+
+static inline int ispunct(int c)
+{
+	return !isspace(c) && !isalnum(c) && isprint(c);
+}
+
+static inline int isxdigit(int c)
+{
+	return isdigit(c) ||
+	    (c >= 'a' && c <= 'f') ||
+	    (c >= 'A' && c <= 'F');
 }
 
Index: uspace/lib/posix/include/posix/ctype.h
===================================================================
--- uspace/lib/posix/include/posix/ctype.h	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/posix/include/posix/ctype.h	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -43,21 +43,10 @@
 #include "libc/ctype.h"
 
-/* Classification of Characters */
-extern int __POSIX_DEF__(isxdigit)(int c);
-extern int __POSIX_DEF__(isblank)(int c);
-extern int __POSIX_DEF__(iscntrl)(int c);
-extern int __POSIX_DEF__(isgraph)(int c);
-extern int __POSIX_DEF__(isprint)(int c);
-extern int __POSIX_DEF__(ispunct)(int c);
+/* Obsolete Functions and Macros */
+extern int isascii(int c);
+extern int toascii(int c);
 
-/* Obsolete Functions and Macros */
-extern int __POSIX_DEF__(isascii)(int c);
-extern int __POSIX_DEF__(toascii)(int c);
-#undef _tolower
 #define _tolower(c) ((c) - 'A' + 'a')
-#undef _toupper
 #define _toupper(c) ((c) - 'a' + 'A')
-
-
 
 #endif /* POSIX_CTYPE_H_ */
Index: uspace/lib/posix/source/ctype.c
===================================================================
--- uspace/lib/posix/source/ctype.c	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/posix/source/ctype.c	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -34,76 +34,5 @@
  */
 
-#define LIBPOSIX_INTERNAL
-#define __POSIX_DEF__(x) posix_##x
-
 #include "posix/ctype.h"
-
-/**
- * Checks whether character is a hexadecimal digit.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_isxdigit(int c)
-{
-	return isdigit(c) ||
-	    (c >= 'a' && c <= 'f') ||
-	    (c >= 'A' && c <= 'F');
-}
-
-/**
- * Checks whether character is a word separator.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_isblank(int c)
-{
-	return c == ' ' || c == '\t';
-}
-
-/**
- * Checks whether character is a control character.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_iscntrl(int c)
-{
-	return c < 0x20 || c == 0x7E;
-}
-
-/**
- * Checks whether character is any printing character except space.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_isgraph(int c)
-{
-	return posix_isprint(c) && c != ' ';
-}
-
-/**
- * Checks whether character is a printing character.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_isprint(int c)
-{
-	return posix_isascii(c) && !posix_iscntrl(c);
-}
-
-/**
- * Checks whether character is a punctuation.
- *
- * @param c Character to inspect.
- * @return Non-zero if character match the definition, zero otherwise.
- */
-int posix_ispunct(int c)
-{
-	return !isspace(c) && !isalnum(c) && posix_isprint(c);
-}
 
 /**
@@ -113,5 +42,5 @@
  * @return Non-zero if character match the definition, zero otherwise.
  */
-int posix_isascii(int c)
+int isascii(int c)
 {
 	return c >= 0 && c < 128;
@@ -124,5 +53,5 @@
  * @return Coverted character.
  */
-int posix_toascii(int c)
+int toascii(int c)
 {
 	return c & 0x7F;
Index: uspace/lib/posix/source/fnmatch.c
===================================================================
--- uspace/lib/posix/source/fnmatch.c	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/posix/source/fnmatch.c	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -183,14 +183,14 @@
 	{ "alnum", isalnum },
 	{ "alpha", isalpha },
-	{ "blank", posix_isblank },
-	{ "cntrl", posix_iscntrl },
+	{ "blank", isblank },
+	{ "cntrl", iscntrl },
 	{ "digit", isdigit },
-	{ "graph", posix_isgraph },
+	{ "graph", isgraph },
 	{ "lower", islower },
-	{ "print", posix_isprint },
-	{ "punct", posix_ispunct },
+	{ "print", isprint },
+	{ "punct", ispunct },
 	{ "space", isspace },
 	{ "upper", isupper },
-	{ "xdigit", posix_isxdigit }
+	{ "xdigit", isxdigit }
 };
 
Index: uspace/lib/posix/source/stdlib/strtold.c
===================================================================
--- uspace/lib/posix/source/stdlib/strtold.c	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/posix/source/stdlib/strtold.c	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -347,5 +347,5 @@
 	bool after_decimal = false;
 	
-	while (posix_isxdigit(*str) || (!after_decimal && *str == DECIMAL_POINT)) {
+	while (isxdigit(*str) || (!after_decimal && *str == DECIMAL_POINT)) {
 		if (*str == DECIMAL_POINT) {
 			after_decimal = true;
@@ -459,6 +459,6 @@
 	/* check for a hex number */
 	if (nptr[i] == '0' && tolower(nptr[i + 1]) == 'x' &&
-	    (posix_isxdigit(nptr[i + 2]) ||
-	    (nptr[i + 2] == RADIX && posix_isxdigit(nptr[i + 3])))) {
+	    (isxdigit(nptr[i + 2]) ||
+	    (nptr[i + 2] == RADIX && isxdigit(nptr[i + 3])))) {
 		i += 2;
 		
Index: uspace/lib/uri/ctype.h
===================================================================
--- uspace/lib/uri/ctype.h	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ 	(revision )
@@ -1,95 +1,0 @@
-/*
- * Copyright (c) 2013 Martin Sucha
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup uri
- * @{
- */
-/**
- * @file
- */
-
-#ifndef URI_CTYPE_H_
-#define URI_CTYPE_H_
-
-static inline bool is_unreserved(char c)
-{
-	return isalpha(c) || isdigit(c) ||
-	    c == '-' || c == '.' || c == '_' || c == '~';
-}
-
-static inline bool is_hexdig(char c)
-{
-	return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') ||
-	    (c >= 'A' && c <= 'F');
-}
-
-static inline bool is_subdelim(char c)
-{
-	switch (c) {
-	case '!':
-	case '$':
-	case '&':
-	case '\'':
-	case '(':
-	case ')':
-	case '*':
-	case '+':
-	case ',':
-	case ';':
-	case '=':
-		return true;
-	default:
-		return false;
-	}
-}
-
-static inline bool is_gendelim(char c)
-{
-	switch (c) {
-	case ':':
-	case '/':
-	case '?':
-	case '#':
-	case '[':
-	case ']':
-	case '@':
-		return true;
-	default:
-		return false;
-	}
-}
-
-static inline bool is_reserved(char c)
-{
-	return is_gendelim(c) || is_subdelim(c);
-}
-
-#endif
-
-/** @}
- */
Index: uspace/lib/uri/internal/ctype.h
===================================================================
--- uspace/lib/uri/internal/ctype.h	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
+++ uspace/lib/uri/internal/ctype.h	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2013 Martin Sucha
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup uri
+ * @{
+ */
+/**
+ * @file
+ */
+
+#ifndef URI_CTYPE_H_
+#define URI_CTYPE_H_
+
+static inline bool is_unreserved(char c)
+{
+	return isalpha(c) || isdigit(c) ||
+	    c == '-' || c == '.' || c == '_' || c == '~';
+}
+
+static inline bool is_hexdig(char c)
+{
+	return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') ||
+	    (c >= 'A' && c <= 'F');
+}
+
+static inline bool is_subdelim(char c)
+{
+	switch (c) {
+	case '!':
+	case '$':
+	case '&':
+	case '\'':
+	case '(':
+	case ')':
+	case '*':
+	case '+':
+	case ',':
+	case ';':
+	case '=':
+		return true;
+	default:
+		return false;
+	}
+}
+
+static inline bool is_gendelim(char c)
+{
+	switch (c) {
+	case ':':
+	case '/':
+	case '?':
+	case '#':
+	case '[':
+	case ']':
+	case '@':
+		return true;
+	default:
+		return false;
+	}
+}
+
+static inline bool is_reserved(char c)
+{
+	return is_gendelim(c) || is_subdelim(c);
+}
+
+#endif
+
+/** @}
+ */
Index: uspace/lib/uri/uri.c
===================================================================
--- uspace/lib/uri/uri.c	(revision c718bdada0e16b36b6f0f68df54a3ee343f91e49)
+++ uspace/lib/uri/uri.c	(revision dbbbe75bd08614d9daa864a503fb5eb1c8b8d62e)
@@ -42,5 +42,5 @@
 
 #include "uri.h"
-#include "ctype.h"
+#include "internal/ctype.h"
 
 static char *cut_str(const char *start, const char *end)
