Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbvirt/src/stdreq.c

    rd2e66bf r9d58539  
    5151void usbvirt_control_reply_helper(const usb_device_request_setup_packet_t *setup_packet,
    5252    uint8_t *data, size_t *act_size,
    53     const void *actual_data, size_t actual_data_size)
     53    void *actual_data, size_t actual_data_size)
    5454{
    5555        size_t expected_size = setup_packet->length;
     
    6363                *act_size = actual_data_size;
    6464        }
    65 }
    66 
    67 /** NOP handler */
    68 int req_nop(usbvirt_device_t *device,
    69     const usb_device_request_setup_packet_t *setup_packet,
    70     uint8_t *data, size_t *act_size)
    71 {
    72         return EOK;
    7365}
    7466
     
    10698                }
    10799                /* Copy the data. */
    108                 const usbvirt_device_configuration_t *config =
    109                     &device->descriptors->configuration[index];
     100                usbvirt_device_configuration_t *config = &device->descriptors
     101                    ->configuration[index];
    110102                uint8_t *all_data = malloc(config->descriptor->total_length);
    111103                if (all_data == NULL) {
     
    118110                size_t i;
    119111                for (i = 0; i < config->extra_count; i++) {
    120                         const usbvirt_device_configuration_extras_t *extra
     112                        usbvirt_device_configuration_extras_t *extra
    121113                            = &config->extra[i];
    122114                        memcpy(ptr, extra->data, extra->length);
     
    197189}
    198190
    199 static int req_get_dev_status(usbvirt_device_t *device,
    200     const usb_device_request_setup_packet_t *setup_packet, uint8_t *data, size_t *act_size)
    201 {
    202         if (setup_packet->length != 2)
    203                 return ESTALL;
    204         data[0] = (device->self_powered ? 1 : 0) | (device->remote_wakeup ? 2 : 0);
    205         data[1] = 0;
    206         *act_size = 2;
    207         return EOK;
    208 }
    209 static int req_get_iface_ep_status(usbvirt_device_t *device,
    210     const usb_device_request_setup_packet_t *setup_packet, uint8_t *data, size_t *act_size)
    211 {
    212         if (setup_packet->length != 2)
    213                 return ESTALL;
    214         data[0] = 0;
    215         data[1] = 0;
    216         *act_size = 2;
    217         return EOK;
    218 }
    219 
    220191/** Standard request handlers. */
    221192usbvirt_control_request_handler_t library_handlers[] = {
    222193        {
    223                 STD_REQ_OUT(USB_REQUEST_RECIPIENT_DEVICE, USB_DEVREQ_SET_ADDRESS),
     194                .req_direction = USB_DIRECTION_OUT,
     195                .req_recipient = USB_REQUEST_RECIPIENT_DEVICE,
     196                .req_type = USB_REQUEST_TYPE_STANDARD,
     197                .request = USB_DEVREQ_SET_ADDRESS,
    224198                .name = "SetAddress",
    225199                .callback = req_set_address
    226200        },
    227201        {
    228                 STD_REQ_IN(USB_REQUEST_RECIPIENT_DEVICE, USB_DEVREQ_GET_DESCRIPTOR),
    229                 .name = "GetStdDescriptor",
     202                .req_direction = USB_DIRECTION_IN,
     203                .req_recipient = USB_REQUEST_RECIPIENT_DEVICE,
     204                .req_type = USB_REQUEST_TYPE_STANDARD,
     205                .request = USB_DEVREQ_GET_DESCRIPTOR,
     206                .name = "GetDescriptor",
    230207                .callback = req_get_descriptor
    231208        },
    232209        {
    233                 STD_REQ_OUT(USB_REQUEST_RECIPIENT_DEVICE, USB_DEVREQ_SET_CONFIGURATION),
     210                .req_direction = USB_DIRECTION_OUT,
     211                .req_recipient = USB_REQUEST_RECIPIENT_DEVICE,
     212                .req_type = USB_REQUEST_TYPE_STANDARD,
     213                .request = USB_DEVREQ_SET_CONFIGURATION,
    234214                .name = "SetConfiguration",
    235215                .callback = req_set_configuration
    236216        },
    237         {
    238                 STD_REQ_IN(USB_REQUEST_RECIPIENT_DEVICE, USB_DEVREQ_GET_STATUS),
    239                 .name = "GetDeviceStatus",
    240                 .callback = req_get_dev_status,
    241         },
    242         {
    243                 STD_REQ_IN(USB_REQUEST_RECIPIENT_INTERFACE, USB_DEVREQ_GET_STATUS),
    244                 .name = "GetInterfaceStatus",
    245                 .callback = req_get_iface_ep_status,
    246         },
    247         {
    248                 /* virtual EPs by default cannot be stalled */
    249                 STD_REQ_IN(USB_REQUEST_RECIPIENT_ENDPOINT, USB_DEVREQ_GET_STATUS),
    250                 .name = "GetEndpointStatus",
    251                 .callback = req_get_iface_ep_status,
    252         },
     217
    253218        { .callback = NULL }
    254219};
Note: See TracChangeset for help on using the changeset viewer.