]> sigrok.org Git - libsigrok.git/blobdiff - src/libsigrok-internal.h
Add analog helper sr_analog_unit_to_string().
[libsigrok.git] / src / libsigrok-internal.h
index b2564ecae3a7f4d9671efdb323c367cf13e1ae36..bdbcb09059019bf80d48e10b7d6d2d346ffd038f 100644 (file)
@@ -490,9 +490,38 @@ enum {
 SR_PRIV struct sr_channel *sr_channel_new(int index, int type,
                gboolean enabled, const char *name);
 
+/** Device instance data */
+struct sr_dev_inst {
+       /** Device driver. */
+       struct sr_dev_driver *driver;
+       /** Device instance status. SR_ST_NOT_FOUND, etc. */
+       int status;
+       /** Device instance type. SR_INST_USB, etc. */
+       int inst_type;
+       /** Device vendor. */
+       char *vendor;
+       /** Device model. */
+       char *model;
+       /** Device version. */
+       char *version;
+       /** Serial number. */
+       char *serial_num;
+       /** Connection string to uniquely identify devices. */
+       char *connection_id;
+       /** List of channels. */
+       GSList *channels;
+       /** List of sr_channel_group structs */
+       GSList *channel_groups;
+       /** Device instance connection data (used?) */
+       void *conn;
+       /** Device instance private data (used?) */
+       void *priv;
+       /** Session to which this device is currently assigned. */
+       struct sr_session *session;
+};
+
 /* Generic device instances */
-SR_PRIV struct sr_dev_inst *sr_dev_inst_new(int status,
-               const char *vendor, const char *model, const char *version);
+SR_PRIV struct sr_dev_inst *sr_dev_inst_new(void);
 SR_PRIV void sr_dev_inst_free(struct sr_dev_inst *sdi);
 
 #ifdef HAVE_LIBUSB_1_0
@@ -574,6 +603,14 @@ SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
                struct sr_datafeed_packet **copy);
 SR_PRIV void sr_packet_free(struct sr_datafeed_packet *packet);
 
+/*--- analog.c --------------------------------------------------------------*/
+
+SR_PRIV int sr_analog_init(struct sr_datafeed_analog2 *analog,
+                           struct sr_analog_encoding *encoding,
+                           struct sr_analog_meaning *meaning,
+                           struct sr_analog_spec *spec,
+                           int digits);
+
 /*--- std.c -----------------------------------------------------------------*/
 
 typedef int (*dev_close_callback)(struct sr_dev_inst *sdi);
@@ -631,6 +668,7 @@ typedef gboolean (*packet_valid_callback)(const uint8_t *buf);
 SR_PRIV int serial_open(struct sr_serial_dev_inst *serial, int flags);
 SR_PRIV int serial_close(struct sr_serial_dev_inst *serial);
 SR_PRIV int serial_flush(struct sr_serial_dev_inst *serial);
+SR_PRIV int serial_drain(struct sr_serial_dev_inst *serial);
 SR_PRIV int serial_write_blocking(struct sr_serial_dev_inst *serial,
                const void *buf, size_t count, unsigned int timeout_ms);
 SR_PRIV int serial_write_nonblocking(struct sr_serial_dev_inst *serial,