]> sigrok.org Git - libsigrok.git/blobdiff - sigrok.h.in
sr: sigrok.h.in: Set SR_HWCAP_DUMMY to 0 explicitly.
[libsigrok.git] / sigrok.h.in
index eda52b442e33fdbc27fe3d0bb9a8b216b860f1e5..fb8e0d53b732dffb501abe29244e0599e9c1a75c 100644 (file)
 extern "C" {
 #endif
 
-#define SIGROK_MAJOR_VERSION @SIGROK_MAJOR_VERSION@
-#define SIGROK_MINOR_VERSION @SIGROK_MINOR_VERSION@
-#define SIGROK_MICRO_VERSION @SIGROK_MICRO_VERSION@
-#define SIGROK_VERSION       "@SIGROK_VERSION@"
-
 /*
  * Status/error codes returned by libsigrok functions.
  *
@@ -59,7 +54,8 @@ extern "C" {
 #define SR_ERR               -1 /* Generic/unspecified error */
 #define SR_ERR_MALLOC        -2 /* Malloc/calloc/realloc error */
 #define SR_ERR_ARG           -3 /* Function argument error */
-#define SR_ERR_SAMPLERATE    -4 /* Incorrect samplerate */
+#define SR_ERR_BUG           -4 /* Errors hinting at internal bugs */
+#define SR_ERR_SAMPLERATE    -5 /* Incorrect samplerate */
 
 #define SR_MAX_NUM_PROBES      64 /* Limited by uint64_t. */
 #define SR_MAX_PROBENAME_LEN   32
@@ -86,18 +82,9 @@ typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);
 enum {
        SR_T_UINT64,
        SR_T_CHAR,
-       SR_T_NULL,
+       SR_T_BOOL,
 };
 
-#if 0
-/* (Unused) protocol decoder stack entry */
-struct sr_protocol {
-       char *name;
-       int id;
-       int stackindex;
-};
-#endif
-
 /* sr_datafeed_packet.type values */
 enum {
        SR_DF_HEADER,
@@ -131,25 +118,6 @@ struct sr_datafeed_logic {
        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;
-       uint8_t res;    /* Needs to be a power of 2, FIXME */
-       uint16_t val;   /* Max hardware ADC width is 16bits */
-};
-
-struct sr_analog_sample {
-       uint8_t num_probes; /* Max hardware probes is 256 */
-       struct sr_analog_probe probes[];
-};
-#endif
-
 struct sr_input {
        struct sr_input_format *format;
        char *param;
@@ -182,17 +150,6 @@ struct sr_output_format {
                      uint64_t *length_out);
 };
 
-#if 0
-struct sr_analyzer {
-       char *name;
-       char *filename;
-       /*
-        * TODO: Parameters? If so, configured plugins need another struct.
-        * TODO: Input and output format?
-        */
-};
-#endif
-
 struct sr_datastore {
        /* Size in bytes of the number of units stored in this datastore */
        int ds_unitsize;
@@ -230,12 +187,9 @@ struct sr_probe {
        char *trigger;
 };
 
-/* TODO: Get rid of this global variable. */
-extern GSList *devices;
-
 /* Hardware plugin capabilities */
 enum {
-       SR_HWCAP_DUMMY,             /* Used to terminate lists */
+       SR_HWCAP_DUMMY = 0, /* Used to terminate lists. Must be 0! */
 
        /*--- Device classes ------------------------------------------------*/
 
@@ -244,6 +198,11 @@ enum {
 
        /* TODO: SR_HWCAP_SCOPE, SW_HWCAP_PATTERN_GENERATOR, etc.? */
 
+       /*--- Device types --------------------------------------------------*/
+
+       /** The device is demo device. */
+       SR_HWCAP_DEMO_DEVICE,
+
        /*--- Device options ------------------------------------------------*/
 
        /** The device supports setting/changing its samplerate. */
@@ -363,6 +322,8 @@ enum {
        SR_DI_INSTANCE,
        /* The number of probes connected to this device */
        SR_DI_NUM_PROBES,
+       /* The probe names on this device */
+       SR_DI_PROBE_NAMES,
        /* Samplerates supported by this device, (struct sr_samplerates) */
        SR_DI_SAMPLERATES,
        /* Types of trigger supported, out of "01crf" (char *) */
@@ -407,8 +368,6 @@ struct sr_device_plugin {
 struct sr_session {
        /* List of struct sr_device* */
        GSList *devices;
-       /* List of struct analyzer* */
-       GSList *analyzers;
        /* list of sr_receive_data_callback */
        GSList *datafeed_callbacks;
        GTimeVal starttime;