X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=sigrok.h;h=e2bbecc59a24281af38471a7ce5ec7701dc5570d;hb=77b454421a2aa7d52873f036e5ba5f8030fe29a3;hp=46a994586cef66706cb4bb8827e4290fa2ced76b;hpb=a59606dfff0fa324e0003904a8eb72d7159c3c1f;p=libsigrok.git diff --git a/sigrok.h b/sigrok.h index 46a99458..e2bbecc5 100644 --- a/sigrok.h +++ b/sigrok.h @@ -25,7 +25,9 @@ #include #include #include +#ifdef HAVE_LIBUSB_1_0 #include +#endif #ifdef __cplusplus extern "C" { @@ -173,7 +175,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 */ @@ -191,10 +193,10 @@ struct sr_device { struct sr_device_plugin *plugin; /* A plugin may handle multiple devices of the same type */ int plugin_index; - /* List of struct probe* */ + /* List of struct sr_probe* */ GSList *probes; /* Data acquired by this device, if any */ - struct datastore *datastore; + struct sr_datastore *datastore; }; enum { @@ -202,7 +204,7 @@ enum { SR_PROBE_TYPE_ANALOG, }; -struct probe { +struct sr_probe { int index; int type; gboolean enabled; @@ -224,13 +226,18 @@ enum { SR_HWCAP_CAPTURE_RATIO, /* Set pre/post-trigger capture ratio */ SR_HWCAP_PATTERN_MODE, /* Pattern generator mode */ + /* special stuff */ + SR_HWCAP_CAPTUREFILE, /* capturefile to inject */ + SR_HWCAP_CAPTURE_UNITSIZE, /* unitsize of capturefile data */ + SR_HWCAP_CAPTURE_NUM_PROBES,/* set number of probes */ + /* acquisition modes */ SR_HWCAP_LIMIT_MSEC, /* Set a time limit for sample acquisition */ SR_HWCAP_LIMIT_SAMPLES, /* Set a limit on number of samples */ SR_HWCAP_CONTINUOUS, }; -struct hwcap_option { +struct sr_hwcap_option { int capability; int type; char *description; @@ -257,11 +264,13 @@ enum { SR_SERIAL_INSTANCE, }; +#ifdef HAVE_LIBUSB_1_0 struct sr_usb_device_instance { uint8_t bus; uint8_t address; struct libusb_device_handle *devhdl; }; +#endif struct sr_serial_device_instance { char *port; @@ -290,7 +299,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, @@ -305,7 +314,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; @@ -331,7 +340,7 @@ 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* */