Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision 136ff968681bf59fcbb2884506b0b338da3d7c9c)
+++ uspace/lib/usb/include/usb/usb.h	(revision c4fb5ecd0a4e0a7c884639ad36c66c4344f7b200)
@@ -69,4 +69,6 @@
 	USB_DIRECTION_BOTH
 } usb_direction_t;
+
+const char *usb_str_direction(usb_direction_t);
 
 /** USB speeds. */
Index: uspace/lib/usb/src/usb.c
===================================================================
--- uspace/lib/usb/src/usb.c	(revision 136ff968681bf59fcbb2884506b0b338da3d7c9c)
+++ uspace/lib/usb/src/usb.c	(revision c4fb5ecd0a4e0a7c884639ad36c66c4344f7b200)
@@ -58,4 +58,10 @@
 };
 
+static const char *str_direction[] = {
+	"in",
+	"out",
+	"both"
+};
+
 /** String representation for USB transfer type.
  *
@@ -84,4 +90,17 @@
 }
 
+/** String representation of USB direction.
+ *
+ * @param d The direction.
+ * @return Direction as a string (in English).
+ */
+const char *usb_str_direction(usb_direction_t d)
+{
+	if (d >= ARR_SIZE(str_direction)) {
+		return "invalid";
+	}
+	return str_direction[d];
+}
+
 /** String representation of USB speed.
  *
