Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision 58c0917db4c5465f4633a8c83f103f0285b2d2e9)
+++ uspace/lib/usb/include/usb/usb.h	(revision 84eb74323feaec81e4bbc872ee324912e39c3815)
@@ -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 58c0917db4c5465f4633a8c83f103f0285b2d2e9)
+++ uspace/lib/usb/src/usb.c	(revision 84eb74323feaec81e4bbc872ee324912e39c3815)
@@ -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.
  *
