]> sigrok.org Git - libsigrok.git/blobdiff - sigrok.h
Gnuplot output: More error handling.
[libsigrok.git] / sigrok.h
index 170966282e8ea01238fce1fc6f318dec5c3756ff..78f1567ca775e7a8621a80e305934000fc6e283f 100644 (file)
--- 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);