X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=1e45a5e1a1d4828f1a579490a43afc440a7c5a20;hb=ae67644fe5340d9c6e450fb0443178af356e0647;hp=9036b05f52773315de4dc537d9f39718fafb2644;hpb=5daed4bc6d984a4e03881bcc7fe9104e930a18e1;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index 9036b05f..1e45a5e1 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -73,6 +73,7 @@ enum { SR_ERR_NA = -6, /**< Not applicable. */ SR_ERR_DEV_CLOSED = -7, /**< Device is closed, but needs to be open. */ SR_ERR_TIMEOUT = -8, /**< A timeout occurred. */ + SR_ERR_PROBE_GROUP= -9, /**< A probe group must be specified. */ /* * Note: When adding entries here, don't forget to also update the @@ -178,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. */ @@ -266,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; @@ -549,10 +553,13 @@ struct sr_probe { char *trigger; }; +/** Structure for groups of probes that have common properties. */ struct sr_probe_group { - /* List of sr_probe structs. */ + /** Name of the probe group. */ + char *name; + /** 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; }; @@ -796,6 +803,8 @@ enum { SR_INST_USB = 10000, /** Device instance type for serial port devices. */ SR_INST_SERIAL, + /** Device instance type for USBTMC devices. */ + SR_INST_USBTMC, }; /** Device instance status. */ @@ -844,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"