#include <unistd.h>
#include <sys/time.h>
#include <zip.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
#include "libsigrok-internal.h"
#define LOG_PREFIX "virtual-session"
/** @endcond */
SR_PRIV struct sr_dev_driver session_driver_info;
-static struct sr_dev_driver *di = &session_driver_info;
struct session_vdev {
char *sessionfile;
}
}
- if (!(buf = g_try_malloc(CHUNKSIZE))) {
- sr_err("%s: buf malloc failed", __func__);
- return FALSE;
- }
+ buf = g_malloc(CHUNKSIZE);
ret = zip_fread(vdev->capfile, buf,
CHUNKSIZE / vdev->unitsize * vdev->unitsize);
/* driver callbacks */
-static int init(struct sr_context *sr_ctx)
+static int init(struct sr_dev_driver *di, struct sr_context *sr_ctx)
{
return std_init(sr_ctx, di, LOG_PREFIX);
}
-static int dev_clear(void)
+static int dev_clear(const struct sr_dev_driver *di)
{
struct drv_context *drvc;
GSList *l;
- drvc = di->priv;
+ drvc = di->context;
for (l = drvc->instances; l; l = l->next)
sr_dev_inst_free(l->data);
g_slist_free(drvc->instances);
static int dev_open(struct sr_dev_inst *sdi)
{
+ struct sr_dev_driver *di;
struct drv_context *drvc;
struct session_vdev *vdev;
- drvc = di->priv;
+ di = sdi->driver;
+ drvc = di->context;
vdev = g_malloc0(sizeof(struct session_vdev));
sdi->priv = vdev;
drvc->instances = g_slist_append(drvc->instances, sdi);
.dev_close = dev_close,
.dev_acquisition_start = dev_acquisition_start,
.dev_acquisition_stop = NULL,
- .priv = NULL,
+ .context = NULL,
};