X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=input.c;h=c62c96406917a74e424a4de7e054625bee5894c3;hp=566fd1d55dcf6b2f838f3de8b2f19b3db0245d46;hb=4bf77ec67e693aa08f5b72b71fff9943df8a65e7;hpb=3dfbfbc82fe09a1fa57daff87c3aadadae3773a1 diff --git a/input.c b/input.c index 566fd1d..c62c964 100644 --- a/input.c +++ b/input.c @@ -25,11 +25,6 @@ #include #include -extern gchar *opt_input_file; -extern gchar *opt_input_format; -extern gchar *opt_channels; - - /** * Return the input file format which the CLI tool should use. * @@ -93,6 +88,7 @@ static void load_input_file_format(void) { GHashTable *fmtargs = NULL; struct stat st; + struct sr_session *session; struct sr_input *in; struct sr_input_format *input_format; char *fmtspec = NULL; @@ -134,17 +130,17 @@ static void load_input_file_format(void) if (select_channels(in->sdi) != SR_OK) return; - sr_session_new(); - sr_session_datafeed_callback_add(datafeed_in, NULL); - if (sr_session_dev_add(in->sdi) != SR_OK) { + sr_session_new(&session); + sr_session_datafeed_callback_add(session, &datafeed_in, NULL); + if (sr_session_dev_add(session, in->sdi) != SR_OK) { g_critical("Failed to use device."); - sr_session_destroy(); + sr_session_destroy(session); return; } input_format->loadfile(in, opt_input_file); - sr_session_destroy(); + sr_session_destroy(session); if (fmtargs) g_hash_table_destroy(fmtargs); @@ -152,27 +148,28 @@ static void load_input_file_format(void) void load_input_file(void) { - GSList *sessions; + GSList *devices; + struct sr_session *session; struct sr_dev_inst *sdi; int ret; - if (sr_session_load(opt_input_file) == SR_OK) { + if (sr_session_load(opt_input_file, &session) == SR_OK) { /* sigrok session file */ - ret = sr_session_dev_list(&sessions); - if (ret != SR_OK || !sessions->data) { + ret = sr_session_dev_list(session, &devices); + if (ret != SR_OK || !devices->data) { g_critical("Failed to access session device."); - sr_session_destroy(); + sr_session_destroy(session); return; } - sdi = sessions->data; + sdi = devices->data; if (select_channels(sdi) != SR_OK) { - sr_session_destroy(); + sr_session_destroy(session); return; } - sr_session_datafeed_callback_add(datafeed_in, NULL); - sr_session_start(); - sr_session_run(); - sr_session_stop(); + sr_session_datafeed_callback_add(session, datafeed_in, NULL); + sr_session_start(session); + sr_session_run(session); + sr_session_stop(session); } else { /* fall back on input modules */