]> sigrok.org Git - libsigrok.git/blobdiff - hardware/common/scpi_visa.c
build: Portability fixes.
[libsigrok.git] / hardware / common / scpi_visa.c
index 07d4b9a054d858795c537e3766e3ec0a587faf55..cf34a55529aadfc7afe25f515df9c4a51c416807 100644 (file)
@@ -31,17 +31,18 @@ struct scpi_visa {
        ViSession vi;
 };
 
-static int scpi_visa_dev_inst_new(void *priv, const char *resource,
-               char **params, const char *serialcomm)
+static int scpi_visa_dev_inst_new(void *priv, struct drv_context *drvc,
+               const char *resource, char **params, const char *serialcomm)
 {
        struct scpi_visa *vscpi = priv;
 
+       (void)drvc;
        (void)resource;
        (void)serialcomm;
 
        if (!params || !params[1]) {
                sr_err("Invalid parameters.");
-               return SR_ERR;
+               return SR_ERR_BUG;
        }
 
        vscpi->resource = g_strdup(params[1]);
@@ -58,8 +59,7 @@ static int scpi_visa_open(void *priv)
                return SR_ERR;
        }
 
-       if (viOpen(vscpi->rmgr, vscpi->resource, VI_NO_LOCK, 0, &vscpi->vi) != VI_SUCCESS)
-       {
+       if (viOpen(vscpi->rmgr, vscpi->resource, VI_NO_LOCK, 0, &vscpi->vi) != VI_SUCCESS) {
                sr_err("Cannot open resource.");
                return SR_ERR;
        }
@@ -67,27 +67,27 @@ static int scpi_visa_open(void *priv)
        return SR_OK;
 }
 
-static int scpi_visa_source_add(void *priv, int events, int timeout,
-                       sr_receive_data_callback_t cb, void *cb_data)
+static int scpi_visa_source_add(struct sr_session *session, void *priv,
+               int events, int timeout, sr_receive_data_callback cb, void *cb_data)
 {
        (void) priv;
 
        /* Hook up a dummy handler to receive data from the device. */
-       return sr_source_add(-1, events, timeout, cb, cb_data);
+       return sr_session_source_add(session, -1, events, timeout, cb, cb_data);
 }
 
-static int scpi_visa_source_remove(void *priv)
+static int scpi_visa_source_remove(struct sr_session *session, void *priv)
 {
        (void) priv;
 
-       return sr_source_remove(-1);;
+       return sr_session_source_remove(session, -1);
 }
 
 static int scpi_visa_send(void *priv, const char *command)
 {
        struct scpi_visa *vscpi = priv;
        gchar *terminated_command;
-       ViUInt32 written;
+       ViUInt32 written = 0;
        int len;
 
        terminated_command = g_strconcat(command, "\n", NULL);
@@ -118,9 +118,8 @@ static int scpi_visa_read_data(void *priv, char *buf, int maxlen)
        struct scpi_visa *vscpi = priv;
        ViUInt32 count;
 
-       if (viRead(vscpi->vi, (ViBuf) buf, maxlen, &count) != VI_SUCCESS)
-       {
-               sr_err("Read failed");
+       if (viRead(vscpi->vi, (ViBuf) buf, maxlen, &count) != VI_SUCCESS) {
+               sr_err("Read failed.");
                return SR_ERR;
        }
 
@@ -133,7 +132,7 @@ static int scpi_visa_read_complete(void *priv)
        ViUInt16 status;
 
        if (viReadSTB(vscpi->vi, &status) != VI_SUCCESS) {
-               sr_err("Failed to read status");
+               sr_err("Failed to read status.");
                return SR_ERR;
        }