]> sigrok.org Git - libsigrok.git/blobdiff - include/libsigrok/libsigrok.h
Constify sr_dev_driver::name and sr_dev_driver::long_name.
[libsigrok.git] / include / libsigrok / libsigrok.h
index 63e60fba3ef5ea796a1a97b6038b266652c49aa3..1030f258fed69ccc066ad6d9dd0695f38435b74e 100644 (file)
@@ -64,7 +64,6 @@ extern "C" {
 
 /** Status/error codes returned by libsigrok functions. */
 enum sr_error_code {
-       SR_OK_CONTINUE       =  1, /**< Keep going. */
        SR_OK                =  0, /**< No error. */
        SR_ERR               = -1, /**< Generic/unspecified error. */
        SR_ERR_MALLOC        = -2, /**< Malloc/calloc/realloc error. */
@@ -163,19 +162,19 @@ enum sr_packettype {
        SR_DF_TRIGGER,
        /** Payload is struct sr_datafeed_logic. */
        SR_DF_LOGIC,
-       /** Payload is struct sr_datafeed_analog. */
-       SR_DF_ANALOG,
+       /** DEPRECATED! Use SR_DF_ANALOG instead. */
+       SR_DF_ANALOG_OLD,
        /** Beginning of frame. No payload. */
        SR_DF_FRAME_BEGIN,
        /** End of frame. No payload. */
        SR_DF_FRAME_END,
-       /** Payload is struct sr_datafeed_analog2. */
-       SR_DF_ANALOG2,
+       /** Payload is struct sr_datafeed_analog. */
+       SR_DF_ANALOG,
 
        /* Update datafeed_dump() (session.c) upon changes! */
 };
 
-/** Measured quantity, sr_datafeed_analog.mq. */
+/** Measured quantity, sr_analog_meaning.mq. */
 enum sr_mq {
        SR_MQ_VOLTAGE = 10000,
        SR_MQ_CURRENT,
@@ -238,7 +237,7 @@ enum sr_mq {
        /* Update sr_key_info_mq[] (hwdriver.c) upon changes! */
 };
 
-/** Unit of measured quantity, sr_datafeed_analog.unit. */
+/** Unit of measured quantity, sr_analog_meaning.unit. */
 enum sr_unit {
        /** Volt */
        SR_UNIT_VOLT = 10000,
@@ -332,7 +331,7 @@ enum sr_unit {
         */
 };
 
-/** Values for sr_datafeed_analog.flags. */
+/** Values for sr_analog_meaning.mqflags. */
 enum sr_mqflag {
        /** Voltage measurement is alternating current (AC). */
        SR_MQFLAG_AC = 0x01,
@@ -466,7 +465,7 @@ struct sr_session;
 
 struct sr_rational {
        /** Numerator of the rational number. */
-       uint64_t p;
+       int64_t p;
        /** Denominator of the rational number. */
        uint64_t q;
 };
@@ -495,8 +494,8 @@ struct sr_datafeed_logic {
        void *data;
 };
 
-/** Analog datafeed payload for type SR_DF_ANALOG. */
-struct sr_datafeed_analog {
+/** Analog datafeed payload for type SR_DF_ANALOG_OLD. */
+struct sr_datafeed_analog_old {
        /** The channels for which data is included in this packet. */
        GSList *channels;
        /** Number of samples in data */
@@ -513,8 +512,8 @@ struct sr_datafeed_analog {
        float *data;
 };
 
-/** Analog datafeed payload for type SR_DF_ANALOG2. */
-struct sr_datafeed_analog2 {
+/** Analog datafeed payload for type SR_DF_ANALOG. */
+struct sr_datafeed_analog {
        void *data;
        uint32_t num_samples;
        struct sr_analog_encoding *encoding;
@@ -558,6 +557,25 @@ struct sr_option {
        GSList *values;
 };
 
+/** Resource type.
+ * @since 0.4.0
+ */
+enum sr_resource_type {
+       SR_RESOURCE_FIRMWARE = 1,
+};
+
+/** Resource descriptor.
+ * @since 0.4.0
+ */
+struct sr_resource {
+       /** Size of resource in bytes; set by resource open callback. */
+       uint64_t size;
+       /** File handle or equivalent; set by resource open callback. */
+       void *handle;
+       /** Resource type (SR_RESOURCE_FIRMWARE, ...) */
+       int type;
+};
+
 /** Output module flags. */
 enum sr_output_flag {
        /** If set, this output module writes the output itself. */
@@ -947,9 +965,6 @@ enum sr_configkey {
        /** Measured quantity. */
        SR_CONF_MEASURED_QUANTITY,
 
-       /** Measured secondary quantity. */
-       SR_CONF_MEASURED_2ND_QUANTITY,
-
        /** Equivalent circuit model. */
        SR_CONF_EQUIV_CIRCUIT_MODEL,
 
@@ -1076,9 +1091,9 @@ enum sr_dev_inst_status {
 struct sr_dev_driver {
        /* Driver-specific */
        /** Driver name. Lowercase a-z, 0-9 and dashes (-) only. */
-       char *name;
+       const char *name;
        /** Long name. Verbose driver name shown to user. */
-       char *longname;
+       const char *longname;
        /** API version (currently 1).  */
        int api_version;
        /** Called when driver is loaded, e.g. program startup. */
@@ -1142,14 +1157,6 @@ struct sr_dev_driver {
        void *context;
 };
 
-/**
- * @struct sr_session
- *
- * Opaque data structure representing a libsigrok session. None of the fields
- * of this structure are meant to be accessed directly.
- */
-struct sr_session;
-
 /** Serial port descriptor. */
 struct sr_serial_port {
        /** The OS dependent name of the serial port. */