#include <stdint.h>
#include <inttypes.h>
#include <glib.h>
+#ifdef HAVE_LIBUSB_1_0
#include <libusb.h>
+#endif
#ifdef __cplusplus
extern "C" {
#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 {
};
/* (Unused) protocol decoder stack entry */
-struct protocol {
+struct sr_protocol {
char *name;
int id;
int stackindex;
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 {
uint64_t *length_out);
};
-struct analyzer {
+struct sr_analyzer {
char *name;
char *filename;
/*
/* 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 */
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 {
SR_PROBE_TYPE_ANALOG,
};
-struct probe {
+struct sr_probe {
int index;
int type;
gboolean enabled;
SR_HWCAP_CONTINUOUS,
};
-struct hwcap_option {
+struct sr_hwcap_option {
int capability;
int type;
char *description;
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;
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,
* 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;
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;