diff --git a/configure.in b/configure.in
index 034972a..d4902d6 100644
--- a/configure.in
+++ b/configure.in
@@ -21,5 +21,6 @@
     include/Makefile
     src/Makefile
     tests/Makefile
+    tests/debug/Makefile
     tests/timer/Makefile
     Makefile)
diff --git a/include/openbsc/debug.h b/include/openbsc/debug.h
index b95b1a7..b3b1702 100644
--- a/include/openbsc/debug.h
+++ b/include/openbsc/debug.h
@@ -18,5 +18,6 @@
 #endif
 
 void debugp(unsigned int subsys, char *file, int line, const char *format, ...);
+void parse_category_mask(const char* mask);
 
 #endif /* _DEBUG_H */
diff --git a/src/debug.c b/src/debug.c
index a814224..2b91814 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -1,5 +1,6 @@
 /* Debugging/Logging support code */
 /* (C) 2008 by Harald Welte <laforge@gnumonks.org>
+ * (C) 2008 by Holger Hans Peter Freyther <zecke@selfish.org>
  * All Rights Reserved
  *
  * This program is free software; you can redistribute it and/or modify
@@ -19,14 +20,61 @@
  */
 
 #include <stdarg.h>
+#include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <strings.h>
 #include <time.h>
 
 #include <openbsc/debug.h>
 
 static unsigned int debug_mask = 0xffffffff & ~DMI;
 
+struct debug_info {
+	const char *name;
+	const char *color;
+	const char *description;
+	int number;
+};
+
+#define DEBUG_CATEGORY(NUMBER, NAME, COLOR, DESCRIPTION) \
+	{ .name = NAME, .color = COLOR, .description = DESCRIPTION, .number = NUMBER },
+
+#define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0]))
+
+static const struct debug_info debug_info[] = {
+	DEBUG_CATEGORY(DRLL,  "DRLL", "", "")
+	DEBUG_CATEGORY(DCC,   "DCC",  "", "")
+	DEBUG_CATEGORY(DNM,   "DMM",  "", "")
+	DEBUG_CATEGORY(DRR,   "DRR",  "", "")
+	DEBUG_CATEGORY(DRSL,  "DRSSL","", "")
+	DEBUG_CATEGORY(DNM,   "DNM",  "", "")
+};
+
+/*
+ * Parse the category mask.
+ * category1:category2:category3
+ */
+void parse_category_mask(const char *_mask)
+{
+	unsigned int new_mask = 0;
+	int i = 0;
+	char *mask = strdup(_mask);
+	char *category_token = NULL;
+
+	category_token = strtok(mask, ":");
+	do {
+		for (i = 0; i < ARRAY_SIZE(debug_info); ++i) {
+			if (strcasecmp(debug_info[i].name, category_token) == 0)
+				new_mask |= debug_info[i].number;
+		}
+	} while (category_token = strtok(NULL, ":"));
+
+
+	free(mask);
+	debug_mask = new_mask;
+}
+
 void debugp(unsigned int subsys, char *file, int line, const char *format, ...)
 {
 	char *timestr;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index f7cfd54..f964be1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1 +1 @@
-SUBDIRS = timer
+SUBDIRS = debug timer
diff --git a/tests/debug/Makefile.am b/tests/debug/Makefile.am
new file mode 100644
index 0000000..0cdf46a
--- /dev/null
+++ b/tests/debug/Makefile.am
@@ -0,0 +1,4 @@
+INCLUDES = $(all_includes) -I$(top_srcdir)/include
+noinst_PROGRAMS = debug_test
+
+debug_test_SOURCES = debug_test.c $(top_srcdir)/src/debug.c
diff --git a/tests/debug/debug_test.c b/tests/debug/debug_test.c
new file mode 100644
index 0000000..4fe539c
--- /dev/null
+++ b/tests/debug/debug_test.c
@@ -0,0 +1,34 @@
+/* simple test for the debug interface */
+/*
+ * (C) 2008 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+
+#include <openbsc/debug.h>
+
+
+int main(int argc, char** argv)
+{
+    parse_category_mask("DRLL");
+    DEBUGP(DCC, "You should not see this\n");
+
+    parse_category_mask("DRLL:DCC");
+    DEBUGP(DRLL, "You should see this\n");
+    DEBUGP(DCC, "You should see this\n");
+    DEBUGP(DMM, "You should not see this\n");
+}
