Index: uspace/lib/drv/include/usbhid_iface.h
===================================================================
--- uspace/lib/drv/include/usbhid_iface.h	(revision 4e78236243e90824326687be4b2be23bcc3def81)
+++ uspace/lib/drv/include/usbhid_iface.h	(revision d7c72dbaa2549fcbbdb999bf6cac53fa7bb3c408)
@@ -45,7 +45,5 @@
 	 * Parameters: none
 	 * Answer:
-	 * - EOK (expected always as long as device support USB HID interface)
-	 * Parameters of the answer:
-	 * - number of items
+	 * - Size of one report in bytes.
 	 */
 	IPC_M_USBHID_GET_EVENT_LENGTH,
@@ -63,6 +61,32 @@
 	 * It is okay if the client requests less data. Extra data must
 	 * be truncated by the driver.
+	 *
+	 * @todo Change this comment.
 	 */
-	IPC_M_USBHID_GET_EVENT
+	IPC_M_USBHID_GET_EVENT,
+	
+	/** Get the size of the report descriptor from the HID device.
+	 *
+	 * Parameters:
+	 * - none
+	 * Answer:
+	 * - Size of one report in bytes.
+	 * - 
+	 *
+	 * @todo Finish this comment
+	 */
+	IPC_M_USBHID_GET_REPORT_DESCRIPTOR_LENGTH,
+	
+	/** Get the report descriptor from the HID device.
+	 *
+	 * Parameters:
+	 * - none
+	 * Answer:
+	 * - EOK - report descriptor returned.
+	 * - 
+	 *
+	 * @todo Finish this comment
+	 */
+	IPC_M_USBHID_GET_REPORT_DESCRIPTOR
 } usbhid_iface_funcs_t;
 
@@ -75,5 +99,5 @@
 	 *
 	 * @param[in] fun DDF function answering the request.
-	 * @return Number of events or error code.
+	 * @return Size of the event in bytes.
 	 */
 	size_t (*get_event_length)(ddf_fun_t *fun);
@@ -87,6 +111,23 @@
 	 * @return Error code.
 	 */
-	int (*get_event)(ddf_fun_t *fun, int32_t *buffer, size_t size,
+	int (*get_event)(ddf_fun_t *fun, uint8_t *buffer, size_t size,
 	    size_t *act_size, unsigned int flags);
+	
+	/** Get size of the report descriptor in bytes.
+	 *
+	 * @param[in] fun DDF function answering the request.
+	 * @return Size of the report descriptor in bytes.
+	 */
+	size_t (*get_report_descriptor_length)(ddf_fun_t *fun);
+	
+	/** Get the report descriptor from the HID device.
+	 *
+	 * @param[in] fun DDF function answering the request.
+	 * @param[out] desc Buffer with the report descriptor.
+	 * @param[out] size Size of the report descriptors in bytes.
+	 * @return Error code.
+	 */
+	int (*get_report_descriptor)(ddf_fun_t *fun, uint8_t *desc, 
+	    size_t size, size_t *act_size);
 } usbhid_iface_t;
 
