Index: uspace/lib/usb/include/usb/devreq.h
===================================================================
--- uspace/lib/usb/include/usb/devreq.h	(revision 692c0d3e6d501d87290207adb90d9b1a74984946)
+++ uspace/lib/usb/include/usb/devreq.h	(revision 97bfba169985019bcde416012605ad92f42e00fc)
@@ -92,4 +92,6 @@
 int usb_drv_req_get_full_configuration_descriptor(int, usb_address_t, int,
     void *, size_t, size_t *);
+int usb_drv_req_get_descriptor(int, usb_address_t, usb_request_type_t,
+    uint8_t, uint8_t, uint16_t, void *, size_t, size_t *);
 
 
Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision 692c0d3e6d501d87290207adb90d9b1a74984946)
+++ uspace/lib/usb/include/usb/usb.h	(revision 97bfba169985019bcde416012605ad92f42e00fc)
@@ -54,4 +54,11 @@
 	USB_DIRECTION_OUT
 } usb_direction_t;
+
+/** USB request type target. */
+typedef enum {
+	USB_REQUEST_TYPE_STANDARD = 0,
+	USB_REQUEST_TYPE_CLASS = 1,
+	USB_REQUEST_TYPE_VENDOR = 2
+} usb_request_type_t;
 
 /** USB transaction outcome. */
