]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok.h
ascii: fix for big-endian architectures.
[libsigrok.git] / libsigrok.h
index a606dfb08ee9933bb4048079061e51b02c5ecf53..24934baab44f09cde065b83edbd07037269ece17 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
  *
  * Copyright (C) 2013 Bert Vermeulen <bert@biot.com>
  *
@@ -70,6 +70,8 @@ enum {
        SR_ERR_ARG        = -3, /**< Function argument error. */
        SR_ERR_BUG        = -4, /**< Errors hinting at internal bugs. */
        SR_ERR_SAMPLERATE = -5, /**< Incorrect samplerate. */
+       SR_ERR_NA         = -6, /**< Not applicable. */
+       SR_ERR_DEV_CLOSED = -7, /**< Device is closed, but needs to be open. */
 };
 
 #define SR_MAX_NUM_PROBES    64 /* Limited by uint64_t. */
@@ -136,14 +138,6 @@ enum {
        SR_T_KEYVALUE,
 };
 
-/** Rational number data type, containing numerator and denominator values. */
-struct sr_rational {
-       /** Numerator of the rational number. */
-       uint64_t p;
-       /** Denominator of the rational number. */
-       uint64_t q;
-};
-
 /** Value for sr_datafeed_packet.type. */
 enum {
        SR_DF_HEADER = 10000,
@@ -636,6 +630,12 @@ enum {
        /** The device supports setting its sample interval, in ms. */
        SR_CONF_SAMPLE_INTERVAL,
 
+       /** Number of timebases, as related to SR_CONF_TIMEBASE.  */
+       SR_CONF_NUM_TIMEBASE,
+
+       /** Number of vertical divisions, as related to SR_CONF_VDIV.  */
+       SR_CONF_NUM_VDIV,
+
        /*--- Special stuff -------------------------------------------------*/
 
        /** Scan options supported by the driver. */
@@ -697,6 +697,7 @@ struct sr_dev_inst {
        char *model;
        char *version;
        GSList *probes;
+       void *conn;
        void *priv;
 };
 
@@ -754,7 +755,7 @@ struct sr_dev_driver {
 struct sr_session {
        /** List of struct sr_dev pointers. */
        GSList *devs;
-       /** List of sr_receive_data_callback_t items. */
+       /** List of struct datafeed_callback pointers. */
        GSList *datafeed_callbacks;
        GTimeVal starttime;
 
@@ -769,6 +770,14 @@ struct sr_session {
        struct source *sources;
        GPollFD *pollfds;
        int source_timeout;
+
+       /*
+        * These are our synchronization primitives for stopping the session in
+        * an async fashion. We need to make sure the session is stopped from
+        * within the session thread itself.
+        */
+       GMutex stop_mutex;
+       gboolean abort_session;
 };
 
 #include "proto.h"