X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok-cli.h;h=80b741712e4e5df8b993914b0fdf789c6e3bb541;hb=c1865eb5e7d89708754580f693c9cbf7c4ef035d;hp=ac946a02fff0c1414d645719550aa70be0ea93fe;hpb=ad6520c433602a426e4e55fec2d5aef8fe11a5b5;p=sigrok-cli.git diff --git a/sigrok-cli.h b/sigrok-cli.h index ac946a0..80b7417 100644 --- a/sigrok-cli.h +++ b/sigrok-cli.h @@ -20,25 +20,41 @@ #ifndef SIGROK_CLI_SIGROK_CLI_H #define SIGROK_CLI_SIGROK_CLI_H -#include "config.h" #ifdef HAVE_SRD /* First, so we avoid a _POSIX_C_SOURCE warning. */ #include #endif #include -#define DEFAULT_OUTPUT_FORMAT "bits:width=64" -#define SAVE_CHUNK_SIZE 524288 +#define DEFAULT_OUTPUT_FORMAT_FILE "srzip" +#define DEFAULT_OUTPUT_FORMAT_NOFILE "bits:width=64" +#define SAVE_CHUNK_SIZE (512 * 1024) /* main.c */ +extern struct sr_context *sr_ctx; int select_channels(struct sr_dev_inst *sdi); +gboolean config_key_has_cap(struct sr_dev_driver *driver, + const struct sr_dev_inst *sdi, struct sr_channel_group *cg, + uint32_t key, uint32_t capability); +int maybe_config_get(struct sr_dev_driver *driver, + const struct sr_dev_inst *sdi, struct sr_channel_group *cg, + uint32_t key, GVariant **gvar); +int maybe_config_set(struct sr_dev_driver *driver, + const struct sr_dev_inst *sdi, struct sr_channel_group *cg, + uint32_t key, GVariant *gvar); +int maybe_config_list(struct sr_dev_driver *driver, + const struct sr_dev_inst *sdi, struct sr_channel_group *cg, + uint32_t key, GVariant **gvar); /* show.c */ void show_version(void); +void show_supported(void); void show_dev_list(void); void show_dev_detail(void); void show_pd_detail(void); +void show_input(void); void show_output(void); +void show_transform(void); /* device.c */ GSList *device_scan(void); @@ -58,8 +74,7 @@ void load_input_file(void); /* decode.c */ #ifdef HAVE_SRD -int register_pds(const char *opt_pds, char *opt_pd_annotations); -int setup_pd_stack(char *opt_pds, char *opt_pd_stack, char *opt_pd_annotations); +int register_pds(gchar **all_pds, char *opt_pd_annotations); int setup_pd_annotations(char *opt_pd_annotations); int setup_pd_meta(char *opt_pd_meta); int setup_pd_binary(char *opt_pd_binary); @@ -75,7 +90,9 @@ GSList *parse_channelstring(struct sr_dev_inst *sdi, const char *channelstring); int parse_triggerstring(const struct sr_dev_inst *sdi, const char *s, struct sr_trigger **trigger); GHashTable *parse_generic_arg(const char *arg, gboolean sep_first); +GHashTable *generic_arg_to_opt(const struct sr_option **opts, GHashTable *genargs); int canon_cmp(const char *str1, const char *str2); +int parse_driver(char *arg, struct sr_dev_driver **driver, GSList **drvopts); /* anykey.c */ void add_anykey(struct sr_session *session); @@ -83,6 +100,7 @@ void clear_anykey(void); /* options.c */ extern gboolean opt_version; +extern gboolean opt_list_supported; extern gint opt_loglevel; extern gboolean opt_scan_devs; extern gboolean opt_wait_trigger; @@ -93,21 +111,23 @@ extern gchar *opt_config; extern gchar *opt_channels; extern gchar *opt_channel_group; extern gchar *opt_triggers; -extern gchar *opt_pds; +extern gchar **opt_pds; #ifdef HAVE_SRD -extern gchar *opt_pd_stack; extern gchar *opt_pd_annotations; extern gchar *opt_pd_meta; extern gchar *opt_pd_binary; +extern gboolean opt_pd_samplenum; #endif extern gchar *opt_input_format; extern gchar *opt_output_format; -extern gchar *opt_show; +extern gchar *opt_transform_module; +extern gboolean opt_show; extern gchar *opt_time; extern gchar *opt_samples; extern gchar *opt_frames; -extern gchar *opt_continuous; -extern gchar *opt_set; +extern gboolean opt_continuous; +extern gchar *opt_get; +extern gboolean opt_set; int parse_options(int argc, char **argv); void show_help(void);