Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbhid/src/hidreport.c

    ra35b458 rae3a941  
    5555        assert(report_desc != NULL);
    5656        assert(size != NULL);
    57 
     57       
    5858        usb_dp_parser_t parser =  {
    5959                .nesting = usb_dp_standard_descriptor_nesting
    6060        };
    61 
     61       
    6262        usb_dp_parser_data_t parser_data = {
    6363                .data = usb_device_descriptors(dev)->full_config,
     
    6565                .arg = NULL
    6666        };
    67 
     67       
    6868        /*
    6969         * First nested descriptor of the configuration descriptor.
     
    7272            usb_dp_get_nested_descriptor(&parser, &parser_data,
    7373            usb_device_descriptors(dev)->full_config);
    74 
     74       
    7575        /*
    7676         * Find the interface descriptor corresponding to our interface number.
     
    8282                ++i;
    8383        }
    84 
     84       
    8585        if (d == NULL) {
    8686                usb_log_error("The %d. interface descriptor not found!",
     
    8888                return ENOENT;
    8989        }
    90 
     90       
    9191        /*
    9292         * First nested descriptor of the interface descriptor.
     
    9494        const uint8_t *iface_desc = d;
    9595        d = usb_dp_get_nested_descriptor(&parser, &parser_data, iface_desc);
    96 
     96       
    9797        /*
    9898         * Search through siblings until the HID descriptor is found.
     
    102102                    iface_desc, d);
    103103        }
    104 
     104       
    105105        if (d == NULL) {
    106106                usb_log_fatal("No HID descriptor found!");
    107107                return ENOENT;
    108108        }
    109 
     109       
    110110        if (*d != sizeof(usb_standard_hid_descriptor_t)) {
    111111                usb_log_error("HID descriptor has wrong size (%u, expected %zu"
     
    113113                return EINVAL;
    114114        }
    115 
     115       
    116116        usb_standard_hid_descriptor_t *hid_desc =
    117117            (usb_standard_hid_descriptor_t *)d;
    118 
     118       
    119119        uint16_t length = uint16_usb2host(hid_desc->report_desc_info.length);
    120120        size_t actual_size = 0;
     
    129129                return ENOMEM;
    130130        }
    131 
     131       
    132132        usb_log_debug("Getting Report descriptor, expected size: %u", length);
    133 
     133       
    134134        /*
    135135         * Get the descriptor from the device.
     
    153153                return EINVAL;
    154154        }
    155 
     155       
    156156        *size = length;
    157 
     157       
    158158        usb_log_debug("Done.");
    159 
     159       
    160160        return EOK;
    161161}
     
    171171                return EINVAL;
    172172        }
    173 
     173       
    174174//      uint8_t *report_desc = NULL;
    175175//      size_t report_size;
    176 
     176       
    177177        errno_t rc = usb_hid_get_report_descriptor(dev, report_desc, report_size);
    178 
     178       
    179179        if (rc != EOK) {
    180180                usb_log_error("Problem with getting Report descriptor: %s.",
     
    186186                return rc;
    187187        }
    188 
     188       
    189189        assert(*report_desc != NULL);
    190 
     190       
    191191        rc = usb_hid_parse_report_descriptor(report, *report_desc, *report_size);
    192192        if (rc != EOK) {
     
    197197                return rc;
    198198        }
    199 
     199       
    200200        usb_hid_descriptor_print(report);
    201 
     201       
    202202        return EOK;
    203203}
Note: See TracChangeset for help on using the changeset viewer.