X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok.h;h=78f1567ca775e7a8621a80e305934000fc6e283f;hb=d20ba6490ac948783435c72340d3e37b67cd6a62;hp=170966282e8ea01238fce1fc6f318dec5c3756ff;hpb=1b452b8510922bac08db87f8ea769515c795e22f;p=libsigrok.git diff --git a/sigrok.h b/sigrok.h index 17096628..78f1567c 100644 --- a/sigrok.h +++ b/sigrok.h @@ -106,6 +106,25 @@ struct datafeed_header { int num_probes; }; +/* + * Input + */ +struct input { + struct input_format *format; + void *param; + void *internal; +}; + +struct input_format { + char *extension; + char *description; + int (*format_match) (char *filename); + int (*in_loadfile) (char *filename); +}; + +struct input_format **input_list(void); + + /* * Output */ @@ -127,6 +146,8 @@ struct output_format { }; struct output_format **output_list(void); + + int filter_probes(int in_unitsize, int out_unitsize, int *probelist, char *data_in, uint64_t length_in, char **data_out, uint64_t *length_out); @@ -157,12 +178,12 @@ void sigrok_cleanup(void); struct datastore { /* Size in bytes of the number of units stored in this datastore */ int ds_unitsize; - unsigned int num_units; + unsigned int num_units; /* TODO: uint64_t */ GSList *chunklist; }; -struct datastore *datastore_new(int unitsize); -void datastore_destroy(struct datastore *ds); +int datastore_new(int unitsize, struct datastore **ds); +int datastore_destroy(struct datastore *ds); void datastore_put(struct datastore *ds, void *data, unsigned int length, int in_unitsize, int *probelist); @@ -201,7 +222,7 @@ extern GSList *devices; void device_scan(void); void device_close_all(void); GSList *device_list(void); -struct device *device_new(struct device_plugin *plugin, int plugin_index); +struct device *device_new(struct device_plugin *plugin, int plugin_index, int num_probes); void device_clear(struct device *device); void device_destroy(struct device *dev);