]> sigrok.org Git - libsigrok.git/blobdiff - sigrok.h
skeleton.c: Update to latest prototypes.
[libsigrok.git] / sigrok.h
index 170966282e8ea01238fce1fc6f318dec5c3756ff..aec127405bdde49b13ab5a0febf316e5a1e8f020 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);
 
@@ -412,4 +433,13 @@ void serial_restore_params(int fd, void *backup);
 int serial_set_params(int fd, int speed, int bits, int parity, int stopbits,
                      int flowcontrol);
 
+/* libsigrok/hardware/common/misc.c */
+/* TODO: Should not be public. */
+int opendev2(int device_index, struct sigrok_device_instance **sdi,
+            libusb_device *dev, struct libusb_device_descriptor *des,
+            int *skip, uint16_t vid, uint16_t pid, int interface);
+int opendev3(struct sigrok_device_instance **sdi, libusb_device *dev,
+            struct libusb_device_descriptor *des,
+            uint16_t vid, uint16_t pid, int interface);
+
 #endif