X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=88ba2f58139625680c166a553682df5332014f53;hb=4b4474ed6a4701e28961569eb777052d0b74673d;hp=985473c692728485aeb06e18be2992744aabac05;hpb=bdc955bc0628afc643e672ba1493a6bd6c3d8ce5;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index 985473c6..88ba2f58 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -179,6 +179,7 @@ enum { SR_MQ_SOUND_PRESSURE_LEVEL, SR_MQ_CARBON_MONOXIDE, SR_MQ_RELATIVE_HUMIDITY, + SR_MQ_TIME, /**< Time */ }; /** Values for sr_datafeed_analog.unit. */ @@ -267,6 +268,8 @@ enum { /** Sound pressure level represented as a percentage of measurements * that were over a preset alarm level. */ SR_MQFLAG_SPL_PCT_OVER_ALARM = 0x10000, + /** Time is duration (as opposed to epoch, ...). */ + SR_MQFLAG_DURATION = 0x20000, }; struct sr_context; @@ -550,11 +553,13 @@ struct sr_probe { char *trigger; }; +/** Structure for groups of probes that have common properties. */ struct sr_probe_group { + /** Name of the probe group. */ char *name; - /* List of sr_probe structs. */ + /** List of sr_probe structs of the probes belonging to this group. */ GSList *probes; - /* Private data for driver use. */ + /** Private data for driver use. */ void *priv; }; @@ -798,6 +803,8 @@ enum { SR_INST_USB = 10000, /** Device instance type for serial port devices. */ SR_INST_SERIAL, + /** Device instance type for SCPI devices. */ + SR_INST_SCPI, }; /** Device instance status. */ @@ -846,34 +853,11 @@ struct sr_dev_driver { void *priv; }; -struct sr_session { - /** List of struct sr_dev pointers. */ - GSList *devs; - /** List of struct datafeed_callback pointers. */ - GSList *datafeed_callbacks; - GTimeVal starttime; - gboolean running; - - unsigned int num_sources; - - /* - * Both "sources" and "pollfds" are of the same size and contain pairs - * of descriptor and callback function. We can not embed the GPollFD - * into the source struct since we want to be able to pass the array - * of all poll descriptors to g_poll(). - */ - struct source *sources; - GPollFD *pollfds; - int source_timeout; - - /* - * These are our synchronization primitives for stopping the session in - * an async fashion. We need to make sure the session is stopped from - * within the session thread itself. - */ - GMutex stop_mutex; - gboolean abort_session; -}; +/** + * Opaque data structure representing a libsigrok session. None of the fields + * of this structure are meant to be accessed directly. + */ +struct sr_session; #include "proto.h" #include "version.h"