Index: kernel/generic/include/func.h
===================================================================
--- kernel/generic/include/func.h	(revision 61e90ddd605dc4854cbb016a4be65d1cd1e9510c)
+++ kernel/generic/include/func.h	(revision 5d684e4c0dde4f587dd5aca281c366f71f72853b)
@@ -45,4 +45,5 @@
 
 extern size_t strlen(const char *str);
+extern int strcmp(const char *src, const char *dst);
 extern int strncmp(const char *src, const char *dst, size_t len);
 extern void strncpy(char *dest, const char *src, size_t len);
Index: kernel/generic/src/lib/func.c
===================================================================
--- kernel/generic/src/lib/func.c	(revision 61e90ddd605dc4854cbb016a4be65d1cd1e9510c)
+++ kernel/generic/src/lib/func.c	(revision 5d684e4c0dde4f587dd5aca281c366f71f72853b)
@@ -101,4 +101,32 @@
  * Do a char-by-char comparison of two NULL terminated strings.
  * The strings are considered equal iff they consist of the same
+ * characters on the minimum of their lengths.
+ *
+ * @param src First string to compare.
+ * @param dst Second string to compare.
+ *
+ * @return 0 if the strings are equal, -1 if first is smaller, 1 if second smaller.
+ *
+ */
+int strcmp(const char *src, const char *dst)
+{
+	for (; *src && *dst; src++, dst++) {
+		if (*src < *dst)
+			return -1;
+		if (*src > *dst)
+			return 1;
+	}
+	if (*src == *dst)
+		return 0;
+	if (!*src)
+		return -1;
+	return 1;
+}
+
+
+/** Compare two NULL terminated strings
+ *
+ * Do a char-by-char comparison of two NULL terminated strings.
+ * The strings are considered equal iff they consist of the same
  * characters on the minimum of their lengths and specified maximal
  * length.
@@ -115,6 +143,5 @@
 	int i;
 	
-	i = 0;
-	for (;*src && *dst && i < len;src++,dst++,i++) {
+	for (i = 0; *src && *dst && i < len; src++, dst++, i++) {
 		if (*src < *dst)
 			return -1;
@@ -128,4 +155,6 @@
 	return 1;
 }
+
+
 
 /** Copy NULL terminated string.
