Index: uspace/lib/drv/Makefile
===================================================================
--- uspace/lib/drv/Makefile	(revision 90c340fbb6e99eb264eb9d03d1501acb54b1f097)
+++ uspace/lib/drv/Makefile	(revision f9c4bc5ad33eebd841769b0aac3e0c8e85867fb1)
@@ -32,5 +32,4 @@
 	-Iinclude \
 	-Igeneric/private \
-	-I$(LIBUSB_PREFIX)/include \
 	-I$(LIBPCM_PREFIX)/include
 LIBRARY = libdrv
Index: uspace/lib/drv/include/usb_iface.h
===================================================================
--- uspace/lib/drv/include/usb_iface.h	(revision 90c340fbb6e99eb264eb9d03d1501acb54b1f097)
+++ uspace/lib/drv/include/usb_iface.h	(revision f9c4bc5ad33eebd841769b0aac3e0c8e85867fb1)
@@ -40,7 +40,54 @@
 #include "ddf/driver.h"
 #include <async.h>
-#include <usb/usb.h>
 
 typedef async_sess_t usb_dev_session_t;
+
+/** USB speeds. */
+typedef enum {
+	/** USB 1.1 low speed (1.5Mbits/s). */
+	USB_SPEED_LOW,
+	/** USB 1.1 full speed (12Mbits/s). */
+	USB_SPEED_FULL,
+	/** USB 2.0 high speed (480Mbits/s). */
+	USB_SPEED_HIGH,
+	/** Psuedo-speed serving as a boundary. */
+	USB_SPEED_MAX
+} usb_speed_t;
+
+/** USB endpoint number type.
+ * Negative values could be used to indicate error.
+ */
+typedef int16_t usb_endpoint_t;
+
+/** USB address type.
+ * Negative values could be used to indicate error.
+ */
+typedef int16_t usb_address_t;
+
+/** USB transfer type. */
+typedef enum {
+	USB_TRANSFER_CONTROL = 0,
+	USB_TRANSFER_ISOCHRONOUS = 1,
+	USB_TRANSFER_BULK = 2,
+	USB_TRANSFER_INTERRUPT = 3
+} usb_transfer_type_t;
+
+/** USB data transfer direction. */
+typedef enum {
+	USB_DIRECTION_IN,
+	USB_DIRECTION_OUT,
+	USB_DIRECTION_BOTH
+} usb_direction_t;
+
+/** USB complete address type.
+ * Pair address + endpoint is identification of transaction recipient.
+ */
+typedef union {
+	struct {
+		usb_address_t address;
+		usb_endpoint_t endpoint;
+	} __attribute__((packed));
+	uint32_t packed;
+} usb_target_t;
 
 extern usb_dev_session_t *usb_dev_connect(devman_handle_t);
Index: uspace/lib/drv/include/usbhc_iface.h
===================================================================
--- uspace/lib/drv/include/usbhc_iface.h	(revision 90c340fbb6e99eb264eb9d03d1501acb54b1f097)
+++ uspace/lib/drv/include/usbhc_iface.h	(revision f9c4bc5ad33eebd841769b0aac3e0c8e85867fb1)
@@ -41,5 +41,5 @@
 
 #include "ddf/driver.h"
-#include <usb/usb.h>
+#include <usb_iface.h>
 #include <stdbool.h>
 
Index: uspace/lib/drv/include/usbhid_iface.h
===================================================================
--- uspace/lib/drv/include/usbhid_iface.h	(revision 90c340fbb6e99eb264eb9d03d1501acb54b1f097)
+++ uspace/lib/drv/include/usbhid_iface.h	(revision f9c4bc5ad33eebd841769b0aac3e0c8e85867fb1)
@@ -38,5 +38,4 @@
 
 #include "ddf/driver.h"
-#include <usb/usb.h>
 
 extern int usbhid_dev_get_event_length(async_sess_t *, size_t *);
