X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok.h;h=6eeca9a3c9ff1617ed707204398d9bcce2361338;hb=4cea9eb20dc8d816a67c57d111a3a4529d452e4d;hp=9518041ce32fd0bce7d05a12050fd52b5d4e04b0;hpb=1afe89897cf100b1a3a5896184ddaca5705681cc;p=libsigrok.git diff --git a/sigrok.h b/sigrok.h index 9518041c..6eeca9a3 100644 --- a/sigrok.h +++ b/sigrok.h @@ -66,15 +66,7 @@ extern "C" { #define HZ_TO_NS(n) (1000000000 / (n)) -#ifndef ARRAY_SIZE -#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) -#endif - -#ifndef ARRAY_AND_SIZE -#define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a) -#endif - -typedef int (*receive_data_callback) (int fd, int revents, void *user_data); +typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data); /* Data types used by hardware plugins for set_configuration() */ enum { @@ -88,7 +80,7 @@ enum { }; /* (Unused) protocol decoder stack entry */ -struct protocol { +struct sr_protocol { char *name; int id; int stackindex; @@ -120,15 +112,15 @@ struct sr_datafeed_header { int num_logic_probes; }; -struct analog_probe { +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 analog_sample { +struct sr_analog_sample { uint8_t num_probes; /* Max hardware probes is 256 */ - struct analog_probe probes[]; + struct sr_analog_probe probes[]; }; struct sr_input { @@ -157,13 +149,13 @@ struct sr_output_format { char *description; int df_type; int (*init) (struct sr_output *o); - int (*data) (struct sr_output *o, char *data_in, uint64_t length_in, - char **data_out, uint64_t *length_out); + int (*data) (struct sr_output *o, const char *data_in, + uint64_t length_in, char **data_out, uint64_t *length_out); int (*event) (struct sr_output *o, int event_type, char **data_out, uint64_t *length_out); }; -struct analyzer { +struct sr_analyzer { char *name; char *filename; /* @@ -175,7 +167,7 @@ struct analyzer { /* Size of a chunk in units */ #define DATASTORE_CHUNKSIZE 512000 -struct datastore { +struct sr_datastore { /* Size in bytes of the number of units stored in this datastore */ int ds_unitsize; unsigned int num_units; /* TODO: uint64_t */ @@ -196,7 +188,7 @@ struct sr_device { /* List of struct sr_probe* */ GSList *probes; /* Data acquired by this device, if any */ - struct datastore *datastore; + struct sr_datastore *datastore; }; enum { @@ -237,7 +229,7 @@ enum { SR_HWCAP_CONTINUOUS, }; -struct hwcap_option { +struct sr_hwcap_option { int capability; int type; char *description; @@ -299,7 +291,7 @@ enum { SR_DI_INSTANCE, /* The number of probes connected to this device */ SR_DI_NUM_PROBES, - /* Samplerates supported by this device, (struct samplerates) */ + /* Samplerates supported by this device, (struct sr_samplerates) */ SR_DI_SAMPLERATES, /* Types of trigger supported, out of "01crf" (char *) */ SR_DI_TRIGGER_TYPES, @@ -314,7 +306,7 @@ enum { * granularity, or is limited to a set of defined samplerates. Use either * step or list, but not both. */ -struct samplerates { +struct sr_samplerates { uint64_t low; uint64_t high; uint64_t step; @@ -326,7 +318,7 @@ struct sr_device_plugin { char *name; char *longname; int api_version; - int (*init) (char *deviceinfo); + int (*init) (const char *deviceinfo); void (*cleanup) (void); /* Device-specific */ @@ -340,12 +332,12 @@ struct sr_device_plugin { void (*stop_acquisition) (int device_index, gpointer session_device_id); }; -struct session { +struct sr_session { /* List of struct sr_device* */ GSList *devices; /* List of struct analyzer* */ GSList *analyzers; - /* list of receive_data_callback */ + /* list of sr_receive_data_callback */ GSList *datafeed_callbacks; GTimeVal starttime; gboolean running;