X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=sigrok-cli.h;h=c07d6cb9ee494742460e0c335701a7f6aea377b7;hp=7a5c3f5fd870513a369b620a0d20e8e1c848c637;hb=24bd9719166584e3b4e6e6423d6d6bcbc1a88251;hpb=ca50f4b3d69016014c8ab9d7765da68fdb8d796f diff --git a/sigrok-cli.h b/sigrok-cli.h index 7a5c3f5..c07d6cb 100644 --- a/sigrok-cli.h +++ b/sigrok-cli.h @@ -31,26 +31,40 @@ #define SAVE_CHUNK_SIZE 524288 /* main.c */ -int select_probes(struct sr_dev_inst *sdi); +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_dev_list(void); void show_dev_detail(void); void show_pd_detail(void); +void show_input(void); +void show_output(void); /* device.c */ GSList *device_scan(void); struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi); /* session.c */ -int setup_output_format(void); void datafeed_in(const struct sr_dev_inst *sdi, const struct sr_datafeed_packet *packet, void *cb_data); int opt_to_gvar(char *key, char *value, struct sr_config *src); int set_dev_options(struct sr_dev_inst *sdi, GHashTable *args); void run_session(void); -void save_chunk_logic(uint8_t *data, uint64_t data_len, int unitsize); +void save_chunk_logic(struct sr_session *session, uint8_t *data, + uint64_t data_len, int unitsize); /* input.c */ void load_input_file(void); @@ -65,17 +79,52 @@ int setup_pd_binary(char *opt_pd_binary); void show_pd_annotations(struct srd_proto_data *pdata, void *cb_data); void show_pd_meta(struct srd_proto_data *pdata, void *cb_data); void show_pd_binary(struct srd_proto_data *pdata, void *cb_data); -void map_pd_probes(struct sr_dev_inst *sdi); +void map_pd_channels(struct sr_dev_inst *sdi); #endif /* parsers.c */ -struct sr_probe *find_probe(GSList *probelist, const char *probename); -GSList *parse_probestring(struct sr_dev_inst *sdi, const char *probestring); +struct sr_channel *find_channel(GSList *channellist, const char *channelname); +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(void); +void add_anykey(struct sr_session *session); void clear_anykey(void); +/* options.c */ +extern gboolean opt_version; +extern gint opt_loglevel; +extern gboolean opt_scan_devs; +extern gboolean opt_wait_trigger; +extern gchar *opt_input_file; +extern gchar *opt_output_file; +extern gchar *opt_drv; +extern gchar *opt_config; +extern gchar *opt_channels; +extern gchar *opt_channel_group; +extern gchar *opt_triggers; +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; +#endif +extern gchar *opt_input_format; +extern gchar *opt_output_format; +extern gchar *opt_show; +extern gchar *opt_time; +extern gchar *opt_samples; +extern gchar *opt_frames; +extern gchar *opt_continuous; +extern gchar *opt_get; +extern gchar *opt_set; +int parse_options(int argc, char **argv); +void show_help(void); + #endif