1 /**************************************************************/
2 /*** Module : USB module - header file ***/
3 /*** Author : Roman Bartosinski (C) 28.04.2002 ***/
4 /*** Modify : 08.08.2002 ***/
5 /*** Rewrite: 05.10.2009 ***/
6 /**************************************************************/
8 #include <system_def.h>
11 #include <usb/usbdebug.h>
13 #include <usb/usb_srq.h> /* standard control request responses */
15 /*************************************************************
16 *** Common standard control endpoint0 responses
17 *************************************************************/
18 int usb_standard_control_response(usb_device_t *udev) REENTRANT_SIGN
22 USB_DEVICE_REQUEST *preq = &(udev->request);
24 req = preq->bRequest & USB_REQUEST_MASK;
25 usb_debug_print( DEBUG_LEVEL_HIGH, ( "StdReq-%d\n", req));
27 if ( (udev->stdreq[ req]) != NULL) {
28 ret = udev->stdreq[ req]( udev);
31 udev->ack_setup( udev);
34 case USB_REQUEST_GET_STATUS: ret=usb_stdreq_get_status( udev); break;
35 case USB_REQUEST_CLEAR_FEATURE: ret=usb_stdreq_clear_feature( udev); break;
36 case USB_REQUEST_SET_FEATURE: ret=usb_stdreq_set_feature( udev); break;
37 case USB_REQUEST_SET_ADDRESS: ret=usb_stdreq_set_address( udev); break;
38 case USB_REQUEST_GET_DESCRIPTOR: ret=usb_stdreq_get_descriptor( udev); break;
39 // case USB_REQUEST_SET_DESCRIPTOR: break;
40 case USB_REQUEST_GET_CONFIGURATION: ret=usb_stdreq_get_configuration( udev); break;
41 case USB_REQUEST_SET_CONFIGURATION: ret=usb_stdreq_set_configuration( udev); break;
42 case USB_REQUEST_GET_INTERFACE: ret=usb_stdreq_get_interface( udev); break;
43 case USB_REQUEST_SET_INTERFACE: ret=usb_stdreq_set_interface( udev); break;
44 // case USB_REQUEST_SYNC_FRAME: break;
45 // default: ret=-1; break;