static int urj_tap_cable_start (urj_chain_t *chain, urj_cable_t *cable) { chain->cable = cable; if (urj_tap_cable_init (chain->cable) != URJ_STATUS_OK) { urj_tap_chain_disconnect (chain); return URJ_STATUS_FAIL; } urj_tap_trst_reset (chain); return URJ_STATUS_OK; }
static int cmd_detect_run (urj_chain_t *chain, char *params[]) { if (urj_cmd_params (params) != 1) { urj_error_set (URJ_ERROR_SYNTAX, "%s: #parameters should be %d, not %d", params[0], 1, urj_cmd_params (params)); return URJ_STATUS_FAIL; } if (urj_cmd_test_cable (chain) != URJ_STATUS_OK) return URJ_STATUS_FAIL; urj_tap_trst_reset (chain); if (urj_tap_detect (chain, 0) != URJ_STATUS_OK) return URJ_STATUS_FAIL; return URJ_STATUS_OK; }