Changeset 7feeb84 in mainline for uspace/app/virtusbkbd/virtusbkbd.c


Ignore:
Timestamp:
2010-12-13T14:25:49Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
76daaf9f
Parents:
8f8ae1fd
Message:

usbvirt: more flexible callbacks for endpoint zero

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/virtusbkbd/virtusbkbd.c

    r8f8ae1fd r7feeb84  
    7676}
    7777
    78 static int on_class_request(struct usbvirt_device *dev,
    79     usb_device_request_setup_packet_t *request, uint8_t *data)
    80 {       
    81         printf("%s: class request (%d)\n", NAME, (int) request->request);
    82        
    83         return EOK;
    84 }
    8578
    8679/** Compares current and last status of pressed keys.
     
    138131}
    139132
     133static usbvirt_control_transfer_handler_t endpoint_zero_handlers[] = {
     134        {
     135                .request_type = USBVIRT_MAKE_CONTROL_REQUEST_TYPE(
     136                    USB_DIRECTION_IN,
     137                    USBVIRT_REQUEST_TYPE_STANDARD,
     138                    USBVIRT_REQUEST_RECIPIENT_DEVICE),
     139                .request = USB_DEVREQ_GET_DESCRIPTOR,
     140                .callback = stdreq_on_get_descriptor
     141        },
     142        {
     143                .request_type = USBVIRT_MAKE_CONTROL_REQUEST_TYPE(
     144                    USB_DIRECTION_IN,
     145                    USBVIRT_REQUEST_TYPE_CLASS,
     146                    USBVIRT_REQUEST_RECIPIENT_DEVICE),
     147                .request = USB_DEVREQ_GET_DESCRIPTOR,
     148                .callback = stdreq_on_get_descriptor
     149        },
     150        USBVIRT_CONTROL_TRANSFER_HANDLER_LAST
     151};
    140152
    141153/** Keyboard callbacks.
     
    143155 */
    144156static usbvirt_device_ops_t keyboard_ops = {
    145         .on_standard_request[USB_DEVREQ_GET_DESCRIPTOR]
    146             = stdreq_on_get_descriptor,
    147         .on_class_device_request = on_class_request,
     157        .control_transfer_handlers = endpoint_zero_handlers,
    148158        .on_data = on_incoming_data,
    149159        .on_data_request = on_request_for_data
Note: See TracChangeset for help on using the changeset viewer.