Index: uspace/lib/usbvirt/include/usbvirt/device.h
===================================================================
--- uspace/lib/usbvirt/include/usbvirt/device.h	(revision 0eddb76bcbabe8f448e8a6f610dcc98ec480bed4)
+++ uspace/lib/usbvirt/include/usbvirt/device.h	(revision 8f8ae1fd40abf46fa26616612cd5c3ff31aee970)
@@ -47,26 +47,10 @@
 	uint8_t *data);
 
-/** Callbacks for standard device requests.
- * When these functions are NULL or return EFORWARD, this
- * framework will try to satisfy the request by itself.
- */
-typedef struct {
-	usbvirt_on_device_request_t on_get_status;
-	usbvirt_on_device_request_t on_clear_feature;
-	usbvirt_on_device_request_t on_set_feature;
-	usbvirt_on_device_request_t on_set_address;
-	usbvirt_on_device_request_t on_get_descriptor;
-	usbvirt_on_device_request_t on_set_descriptor;
-	usbvirt_on_device_request_t on_get_configuration;
-	usbvirt_on_device_request_t on_set_configuration;
-	usbvirt_on_device_request_t on_get_interface;
-	usbvirt_on_device_request_t on_set_interface;
-	usbvirt_on_device_request_t on_synch_frame;
-} usbvirt_standard_device_request_ops_t;
-
 /** Device operations. */
 typedef struct {
-	/** Callbacks for standard deivce requests. */
-	usbvirt_standard_device_request_ops_t *standard_request_ops;
+	/** Callbacks for standard device requests.
+	 * The callbacks are indexed by usb_stddevreq_t enum.
+	 */
+	usbvirt_on_device_request_t on_standard_request[USB_DEVREQ_LAST_STD];
 	/** Callback for class-specific USB request. */
 	usbvirt_on_device_request_t on_class_device_request;
