typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);
-/* Data types used by hardware plugins for set_configuration() */
+/* Data types used by hardware drivers for dev_config_set() */
enum {
SR_T_UINT64,
SR_T_CHAR,
struct sr_input {
struct sr_input_format *format;
char *param;
- struct sr_device *vdevice;
+ struct sr_dev *vdev;
};
struct sr_input_format {
struct sr_output {
struct sr_output_format *format;
- struct sr_device *device;
+ struct sr_dev *dev;
char *param;
void *internal;
};
/*
* This represents a generic device connected to the system.
- * For device-specific information, ask the plugin. The plugin_index refers
- * to the device index within that plugin; it may be handling more than one
- * device. All relevant plugin calls take a device_index parameter for this.
+ * For device-specific information, ask the driver. The driver_index refers
+ * to the device index within that driver; it may be handling more than one
+ * device. All relevant driver calls take a dev_index parameter for this.
*/
-struct sr_device {
- /* Which plugin handles this device */
- struct sr_device_plugin *plugin;
- /* A plugin may handle multiple devices of the same type */
- int plugin_index;
+struct sr_dev {
+ /* Which driver handles this device */
+ struct sr_dev_driver *driver;
+ /* A driver may handle multiple devices of the same type */
+ int driver_index;
/* List of struct sr_probe* */
GSList *probes;
/* Data acquired by this device, if any */
char *trigger;
};
-/* Hardware plugin capabilities */
+/* Hardware driver capabilities */
enum {
SR_HWCAP_DUMMY = 0, /* Used to terminate lists. Must be 0! */
/*--- Device types --------------------------------------------------*/
/** The device is demo device. */
- SR_HWCAP_DEMO_DEVICE,
+ SR_HWCAP_DEMO_DEV,
/*--- Device options ------------------------------------------------*/
};
struct sr_hwcap_option {
- int capability;
+ int hwcap;
int type;
char *description;
char *shortname;
struct sr_dev_inst {
int index;
int status;
- int instance_type;
+ int inst_type;
char *vendor;
char *model;
char *version;
/* sr_dev_inst types */
enum {
- SR_USB_INSTANCE,
- SR_SERIAL_INSTANCE,
+ SR_USB_INST,
+ SR_SERIAL_INST,
};
/* Device instance status */
/* Device info IDs */
enum {
/* struct sr_dev_inst for this specific device */
- SR_DI_INSTANCE,
+ SR_DI_INST,
/* The number of probes connected to this device */
SR_DI_NUM_PROBES,
/* The probe names on this device */
uint64_t *list;
};
-struct sr_device_plugin {
- /* Plugin-specific */
+struct sr_dev_driver {
+ /* Driver-specific */
char *name;
char *longname;
int api_version;
- int (*init) (const char *deviceinfo);
+ int (*init) (const char *devinfo);
int (*cleanup) (void);
/* Device-specific */
- int (*opendev) (int device_index);
- int (*closedev) (int device_index);
- void *(*get_device_info) (int device_index, int device_info_id);
- int (*get_status) (int device_index);
- int *(*get_capabilities) (void);
- int (*set_configuration) (int device_index, int capability, void *value);
- int (*start_acquisition) (int device_index, gpointer session_device_id);
- int (*stop_acquisition) (int device_index, gpointer session_device_id);
+ int (*dev_open) (int dev_index);
+ int (*dev_close) (int dev_index);
+ void *(*dev_info_get) (int dev_index, int dev_info_id);
+ int (*dev_status_get) (int dev_index);
+ int *(*hwcap_get_all) (void);
+ int (*dev_config_set) (int dev_index, int hwcap, void *value);
+ int (*dev_acquisition_start) (int dev_index, gpointer session_dev_id);
+ int (*dev_acquisition_stop) (int dev_index, gpointer session_dev_id);
};
struct sr_session {
- /* List of struct sr_device* */
- GSList *devices;
+ /* List of struct sr_dev* */
+ GSList *devs;
/* list of sr_receive_data_callback */
GSList *datafeed_callbacks;
GTimeVal starttime;