Index: uspace/lib/usbvirt/include/usbvirt/device.h
===================================================================
--- uspace/lib/usbvirt/include/usbvirt/device.h	(revision 7d521e248cf09e5e6637a3ddfb9a8c2d4ac5d716)
+++ uspace/lib/usbvirt/include/usbvirt/device.h	(revision 0eff68e2235e2f4737160b4f06cd3e6c1b217a5e)
@@ -33,4 +33,5 @@
  * Virtual USB device.
  */
+
 #ifndef LIBUSBVIRT_DEVICE_H_
 #define LIBUSBVIRT_DEVICE_H_
@@ -38,4 +39,5 @@
 #include <usb/usb.h>
 #include <usb/dev/request.h>
+#include <async.h>
 
 /** Maximum number of endpoints supported by virtual USB. */
@@ -194,8 +196,8 @@
 	 */
 	usbvirt_device_state_t state;
-	/** Phone to the host controller.
+	/** Session to the host controller.
 	 * You shall treat this field as read only in your code.
 	 */
-	int vhc_phone;
+	async_sess_t *vhc_sess;
 };
 
@@ -213,6 +215,6 @@
     void *, size_t, size_t *);
 
-
 #endif
+
 /**
  * @}
Index: uspace/lib/usbvirt/include/usbvirt/ipc.h
===================================================================
--- uspace/lib/usbvirt/include/usbvirt/ipc.h	(revision 7d521e248cf09e5e6637a3ddfb9a8c2d4ac5d716)
+++ uspace/lib/usbvirt/include/usbvirt/ipc.h	(revision 0eff68e2235e2f4737160b4f06cd3e6c1b217a5e)
@@ -33,4 +33,5 @@
  * IPC wrappers for virtual USB.
  */
+
 #ifndef LIBUSBVIRT_IPC_H_
 #define LIBUSBVIRT_IPC_H_
@@ -40,4 +41,5 @@
 #include <bool.h>
 #include <usbvirt/device.h>
+#include <async.h>
 
 /** IPC methods communication between host controller and virtual device. */
@@ -52,17 +54,19 @@
 } usbvirt_hc_to_device_method_t;
 
-int usbvirt_ipc_send_control_read(int, void *, size_t,
+extern int usbvirt_ipc_send_control_read(async_sess_t *, void *, size_t,
     void *, size_t, size_t *);
-int usbvirt_ipc_send_control_write(int, void *, size_t,
+extern int usbvirt_ipc_send_control_write(async_sess_t *, void *, size_t,
     void *, size_t);
-int usbvirt_ipc_send_data_in(int, usb_endpoint_t, usb_transfer_type_t,
-    void *, size_t, size_t *);
-int usbvirt_ipc_send_data_out(int, usb_endpoint_t, usb_transfer_type_t,
-    void *, size_t);
+extern int usbvirt_ipc_send_data_in(async_sess_t *, usb_endpoint_t,
+    usb_transfer_type_t, void *, size_t, size_t *);
+extern int usbvirt_ipc_send_data_out(async_sess_t *, usb_endpoint_t,
+    usb_transfer_type_t, void *, size_t);
 
-bool usbvirt_is_usbvirt_method(sysarg_t);
-bool usbvirt_ipc_handle_call(usbvirt_device_t *, ipc_callid_t, ipc_call_t *);
+extern bool usbvirt_is_usbvirt_method(sysarg_t);
+extern bool usbvirt_ipc_handle_call(usbvirt_device_t *, ipc_callid_t,
+    ipc_call_t *);
 
 #endif
+
 /**
  * @}
