Index: uspace/lib/drv/include/usb_iface.h
===================================================================
--- uspace/lib/drv/include/usb_iface.h	(revision 95c675b4aa3fea7b424b73892a90b052c673cfd3)
+++ uspace/lib/drv/include/usb_iface.h	(revision 0206d350511d5ad74999ecd3b4f1abcea0463ba8)
@@ -64,9 +64,9 @@
     size_t);
 
-/** Callback for outgoing transfer. */
-typedef void (*usb_iface_transfer_out_callback_t)(int, void *);
+/** Defined in usb/host/usb_transfer_batch.h */
+typedef struct usb_transfer_batch usb_transfer_batch_t;
 
-/** Callback for incoming transfer. */
-typedef void (*usb_iface_transfer_in_callback_t)(int, size_t, void *);
+/** Callback for outgoing transfer - clone of usb_transfer_batch_callback_t */
+typedef int (*usb_iface_transfer_callback_t)(usb_transfer_batch_t *);
 
 /** USB device communication interface. */
@@ -84,8 +84,10 @@
 	int (*unregister_endpoint)(ddf_fun_t *, usb_endpoint_desc_t *);
 
-	int (*read)(ddf_fun_t *, usb_endpoint_t, uint64_t, uint8_t *, size_t,
-	    usb_iface_transfer_in_callback_t, void *);
-	int (*write)(ddf_fun_t *, usb_endpoint_t, uint64_t, const uint8_t *,
-	    size_t, usb_iface_transfer_out_callback_t, void *);
+	int (*read)(ddf_fun_t *, usb_target_t,
+		uint64_t, char *, size_t,
+		usb_iface_transfer_callback_t, void *);
+	int (*write)(ddf_fun_t *, usb_target_t,
+		uint64_t, const char *, size_t,
+		usb_iface_transfer_callback_t, void *);
 } usb_iface_t;
 
