X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=options.c;h=49a12433618a0b868abfe706d77a0da47fc8a13b;hb=c83f755098b3c5d10b3ad022c0f4e934edc94148;hp=c8b51ec1e353c2dfb2be035886ad6a58199adc60;hpb=41ce2cbb8ff6253bc1a223298ad93f75dfabcceb;p=sigrok-cli.git diff --git a/options.c b/options.c index c8b51ec..49a1243 100644 --- a/options.c +++ b/options.c @@ -17,8 +17,9 @@ * along with this program. If not, see . */ -#include "sigrok-cli.h" +#include #include +#include "sigrok-cli.h" gboolean opt_version = FALSE; gint opt_loglevel = SR_LOG_WARN; /* Show errors+warnings by default. */ @@ -33,22 +34,25 @@ gchar *opt_channel_group = NULL; gchar *opt_triggers = NULL; gchar *opt_pds = NULL; #ifdef HAVE_SRD -gchar *opt_pd_stack = NULL; gchar *opt_pd_annotations = NULL; gchar *opt_pd_meta = NULL; gchar *opt_pd_binary = NULL; #endif gchar *opt_input_format = NULL; gchar *opt_output_format = NULL; -gchar *opt_show = NULL; +gchar *opt_transform_module = NULL; +gboolean opt_show = FALSE; gchar *opt_time = NULL; gchar *opt_samples = NULL; gchar *opt_frames = NULL; -gchar *opt_continuous = NULL; -gchar *opt_set = NULL; +gboolean opt_continuous = FALSE; +gchar *opt_get = NULL; +gboolean opt_set = FALSE; -/* defines a callback function that generates - an error if an option occurs twice */ +/* + * Defines a callback function that generates an error if an + * option occurs twice. + */ #define CHECK_ONCE(option) \ static gboolean check_ ## option \ (const gchar *option_name, const gchar *value, \ @@ -72,12 +76,12 @@ CHECK_ONCE(opt_drv) CHECK_ONCE(opt_config) CHECK_ONCE(opt_input_format) CHECK_ONCE(opt_output_format) +CHECK_ONCE(opt_transform_module) CHECK_ONCE(opt_channels) CHECK_ONCE(opt_channel_group) CHECK_ONCE(opt_triggers) #ifdef HAVE_SRD CHECK_ONCE(opt_pds) -CHECK_ONCE(opt_pd_stack) CHECK_ONCE(opt_pd_annotations) CHECK_ONCE(opt_pd_meta) CHECK_ONCE(opt_pd_binary) @@ -85,6 +89,7 @@ CHECK_ONCE(opt_pd_binary) CHECK_ONCE(opt_time) CHECK_ONCE(opt_samples) CHECK_ONCE(opt_frames) +CHECK_ONCE(opt_get) #undef CHECK_STR_ONCE @@ -108,6 +113,8 @@ static const GOptionEntry optargs[] = { "Save output to file", NULL}, {"output-format", 'O', 0, G_OPTION_ARG_CALLBACK, &check_opt_output_format, "Output format", NULL}, + {"transform-module", 'T', 0, G_OPTION_ARG_CALLBACK, &check_opt_transform_module, + "Transform module", NULL}, {"channels", 'C', 0, G_OPTION_ARG_CALLBACK, &check_opt_channels, "Channels to use", NULL}, {"channel-group", 'g', 0, G_OPTION_ARG_CALLBACK, &check_opt_channel_group, @@ -119,8 +126,6 @@ static const GOptionEntry optargs[] = { #ifdef HAVE_SRD {"protocol-decoders", 'P', 0, G_OPTION_ARG_CALLBACK, &check_opt_pds, "Protocol decoders to run", NULL}, - {"protocol-decoder-stack", 'S', 0, G_OPTION_ARG_CALLBACK, &check_opt_pd_stack, - "Protocol decoder stack", NULL}, {"protocol-decoder-annotations", 'A', 0, G_OPTION_ARG_CALLBACK, &check_opt_pd_annotations, "Protocol decoder annotation(s) to show", NULL}, {"protocol-decoder-meta", 'M', 0, G_OPTION_ARG_CALLBACK, &check_opt_pd_meta, @@ -131,7 +136,7 @@ static const GOptionEntry optargs[] = { {"scan", 0, 0, G_OPTION_ARG_NONE, &opt_scan_devs, "Scan for devices", NULL}, {"show", 0, 0, G_OPTION_ARG_NONE, &opt_show, - "Show device detail", NULL}, + "Show device/format/decoder details", NULL}, {"time", 0, 0, G_OPTION_ARG_CALLBACK, &check_opt_time, "How long to sample (ms)", NULL}, {"samples", 0, 0, G_OPTION_ARG_CALLBACK, &check_opt_samples, @@ -140,12 +145,15 @@ static const GOptionEntry optargs[] = { "Number of frames to acquire", NULL}, {"continuous", 0, 0, G_OPTION_ARG_NONE, &opt_continuous, "Sample continuously", NULL}, + {"get", 0, 0, G_OPTION_ARG_CALLBACK, &check_opt_get, "Get device option only", NULL}, {"set", 0, 0, G_OPTION_ARG_NONE, &opt_set, "Set device options only", NULL}, {NULL, 0, 0, 0, NULL, NULL, NULL} }; -/* Parses the command line and sets all the 'opt_...' variables. - Returns zero on success, non-zero otherwise. */ +/* + * Parses the command line and sets all the 'opt_...' variables. + * Returns zero on success, non-zero otherwise. + */ int parse_options(int argc, char **argv) { GError *error = NULL;