/* Marks private, non-public libsigrok symbols (not part of the API). */
#define SR_PRIV __attribute__((visibility("hidden")))
-typedef int (*sr_receive_data_callback) (int fd, int revents, void *user_data);
+typedef int (*sr_receive_data_callback_t)(int fd, int revents, void *cb_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,
/*
* 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 dev_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_dev {
- /* Which plugin handles this device */
- struct sr_dev_plugin *plugin;
- /* A plugin may handle multiple devices of the same type */
- int plugin_index;
+ /* 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! */
};
struct sr_hwcap_option {
- int capability;
+ int hwcap;
int type;
char *description;
char *shortname;
uint64_t *list;
};
-struct sr_dev_plugin {
- /* Plugin-specific */
+struct sr_dev_driver {
+ /* Driver-specific */
char *name;
char *longname;
int api_version;
int (*cleanup) (void);
/* Device-specific */
- int (*opendev) (int dev_index);
- int (*closedev) (int dev_index);
- void *(*get_dev_info) (int dev_index, int dev_info_id);
- int (*get_status) (int dev_index);
- int *(*get_capabilities) (void);
- int (*set_configuration) (int dev_index, int capability, void *value);
- int (*start_acquisition) (int dev_index, gpointer session_dev_id);
- int (*stop_acquisition) (int dev_index, gpointer session_dev_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, void *session_dev_id);
+ int (*dev_acquisition_stop) (int dev_index, void *session_dev_id);
};
struct sr_session {
/* List of struct sr_dev* */
GSList *devs;
- /* list of sr_receive_data_callback */
+ /* list of sr_receive_data_callback_t */
GSList *datafeed_callbacks;
GTimeVal starttime;
gboolean running;