]> sigrok.org Git - libsigrok.git/blobdiff - sigrok.h
ols: Minor whitespace and coding style fixes.
[libsigrok.git] / sigrok.h
index a33cd7f487be8dd3a7ff2d76b571d8a3ea4f2537..b3ca41aece36fec81508c22ecba6d1e2b7b925cb 100644 (file)
--- a/sigrok.h
+++ b/sigrok.h
@@ -68,11 +68,12 @@ extern "C" {
 #define SR_HZ_TO_NS(n) (1000000000 / (n))
 
 /* libsigrok loglevels. */
-#define SR_LOG_NONE    0
-#define SR_LOG_ERR     1
-#define SR_LOG_WARN    2
-#define SR_LOG_INFO    3
-#define SR_LOG_DBG     4
+#define SR_LOG_NONE     0
+#define SR_LOG_ERR      1
+#define SR_LOG_WARN     2
+#define SR_LOG_INFO     3
+#define SR_LOG_DBG      4
+#define SR_LOG_SPEW     5
 
 typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);
 
@@ -83,10 +84,6 @@ enum {
        SR_T_NULL,
 };
 
-enum {
-       SR_PROTO_RAW,
-};
-
 #if 0
 /* (Unused) protocol decoder stack entry */
 struct sr_protocol {
@@ -108,8 +105,10 @@ enum {
 
 struct sr_datafeed_packet {
        uint16_t type;
-       uint64_t length;
-       uint16_t unitsize;
+       /* timeoffset since start, in picoseconds */
+       uint64_t timeoffset;
+       /* duration of data in this packet, in picoseconds */
+       uint64_t duration;
        void *payload;
 };
 
@@ -117,11 +116,22 @@ struct sr_datafeed_header {
        int feed_version;
        struct timeval starttime;
        uint64_t samplerate;
-       int protocol_id;
        int num_analog_probes;
        int num_logic_probes;
 };
 
+struct sr_datafeed_logic {
+       uint64_t length;
+       uint16_t unitsize;
+       void *data;
+};
+
+struct sr_datafeed_pd {
+       char *protocol;
+       char *annotation;
+       unsigned char *data;
+};
+
 #if defined(HAVE_LA_ALSA)
 struct sr_analog_probe {
        uint8_t att;
@@ -245,6 +255,9 @@ enum {
        /** The device supports setting a pattern (pattern generator mode). */
        SR_HWCAP_PATTERN_MODE,
 
+       /** The device supports Run Length Encoding. */
+       SR_HWCAP_RLE,
+
        /*--- Special stuff -------------------------------------------------*/
 
        /* TODO: Better description. */