/* Handles an incoming "handles info" entry from a find-type-value response for the specified discover-service-by-uuid proc.  */
static int ble_gattc_disc_svc_uuid_rx_hinfo(struct ble_gattc_proc *proc, struct ble_att_find_type_value_hinfo *hinfo)
/* Handles an incoming "handles info" entry from a find-type-value response for the specified discover-service-by-uuid proc.  */
static int ble_gattc_disc_svc_uuid_rx_hinfo(struct ble_gattc_proc *proc, struct ble_att_find_type_value_hinfo *hinfo)
{
    struct ble_gatt_svc service;
    int cbrc;
    int rc;
    ble_gattc_dbg_assert_proc_not_inserted(proc);
    if (hinfo->group_end_handle <= proc->disc_svc_uuid.prev_handle) {
        rc = BLE_HS_EBADDATA;
        goto done;
    }
    proc->disc_svc_uuid.prev_handle = hinfo->group_end_handle;
    service.start_handle = hinfo->attr_handle;
    service.end_handle = hinfo->group_end_handle;
    service.uuid = proc->disc_svc_uuid.service_uuid;
    rc = 0;
done:
    cbrc = ble_gattc_disc_svc_uuid_cb(proc, rc, 0, &service);
    if (rc != 0 || cbrc != 0) {
        return BLE_HS_EDONE;
    } else {
        return 0;
    }
}