X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=include%2Flibsigrok%2Flibsigrok.h;h=1030f258fed69ccc066ad6d9dd0695f38435b74e;hb=e5ef649be3167dbb9f6403e2c1d0e2e1b09d3a0c;hp=63e60fba3ef5ea796a1a97b6038b266652c49aa3;hpb=75772c721d45d3b33618388e41d2d874c4f88302;p=libsigrok.git diff --git a/include/libsigrok/libsigrok.h b/include/libsigrok/libsigrok.h index 63e60fba..1030f258 100644 --- a/include/libsigrok/libsigrok.h +++ b/include/libsigrok/libsigrok.h @@ -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. */