struct sr_input {
struct sr_input_format *format;
- char *param;
+ GHashTable *param;
struct sr_dev *vdev;
+ void *internal;
};
struct sr_input_format {
/*--- Special stuff -------------------------------------------------*/
+ /** Session filename */
+ SR_HWCAP_SESSIONFILE,
+
/* TODO: Better description. */
/** The device supports specifying a capturefile to inject. */
SR_HWCAP_CAPTUREFILE,
char *name;
char *longname;
int api_version;
- int (*init) (const char *devinfo);
+ int (*init) (void);
int (*cleanup) (void);
+ int (*scan) (void);
/* Device-specific */
int (*dev_open) (int dev_index);
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;
};
#include "proto.h"