get_report_descriptor(packet_info *pinfo _U_, usb_conv_info_t *usb_info)
{
    guint32 bus_id = usb_info->bus_id;
    guint32 device_address = usb_info->device_address;
    guint32 interface = usb_info->interfaceNum;
    wmem_tree_key_t key[] = {
        {1, &bus_id},
        {1, &device_address},
        {1, &interface},
        {1, &pinfo->num},
        {0, NULL}
    };

    report_descriptor_t *data = NULL;
    data = (report_descriptor_t*) wmem_tree_lookup32_array_le(report_descriptors, key);
    if (data && is_correct_interface(usb_info, &data->usb_info))
        return data;

    return NULL;
}
get_report_descriptor(packet_info *pinfo _U_, usb_conv_info_t *usb_info)
{
    guint32 bus_id = usb_info->bus_id;
    guint32 device_address = usb_info->device_address;
    guint32 interface = usb_info->interfaceNum;
    wmem_tree_key_t key[] = {
        {1, &bus_id},
        {1, &device_address},
        {1, &interface},
        {1, &pinfo->num},
        {0, NULL}
    };

    report_descriptor_t *data = NULL;
    data = (report_descriptor_t*) wmem_tree_lookup32_array_le(report_descriptors, key);
    if (data && is_correct_interface(usb_info, &data->usb_info))
        return data;

    return NULL;
}