]> sigrok.org Git - libsigrok.git/blobdiff - src/output/csv.c
ols: Fix serial port timeout.
[libsigrok.git] / src / output / csv.c
index d17969e8279db59b83599b179e5c818193b1f0a9..86df2613565af110e9391aa7dc2526b50d8850da 100644 (file)
@@ -47,18 +47,20 @@ struct context {
  *  - Trigger support.
  */
 
-static int init(struct sr_output *o)
+static int init(struct sr_output *o, GHashTable *options)
 {
        struct context *ctx;
        struct sr_channel *ch;
        GSList *l;
        int i;
 
+       (void)options;
+
        if (!o || !o->sdi)
                return SR_ERR_ARG;
 
        ctx = g_malloc0(sizeof(struct context));
-       o->internal = ctx;
+       o->priv = ctx;
        ctx->separator = ',';
 
        /* Get the number of channels, and the unitsize. */
@@ -85,7 +87,7 @@ static int init(struct sr_output *o)
        return SR_OK;
 }
 
-static GString *gen_header(struct sr_output *o)
+static GString *gen_header(const struct sr_output *o)
 {
        struct context *ctx;
        struct sr_channel *ch;
@@ -96,7 +98,7 @@ static GString *gen_header(struct sr_output *o)
        int num_channels, i;
        char *samplerate_s;
 
-       ctx = o->internal;
+       ctx = o->priv;
        header = g_string_sized_new(512);
 
        /* Some metadata */
@@ -137,7 +139,7 @@ static GString *gen_header(struct sr_output *o)
        return header;
 }
 
-static int receive(struct sr_output *o, const struct sr_datafeed_packet *packet,
+static int receive(const struct sr_output *o, const struct sr_datafeed_packet *packet,
                GString **out)
 {
        const struct sr_datafeed_meta *meta;
@@ -152,7 +154,7 @@ static int receive(struct sr_output *o, const struct sr_datafeed_packet *packet,
        *out = NULL;
        if (!o || !o->sdi)
                return SR_ERR_ARG;
-       if (!(ctx = o->internal))
+       if (!(ctx = o->priv))
                return SR_ERR_ARG;
 
        switch (packet->type) {
@@ -201,19 +203,21 @@ static int cleanup(struct sr_output *o)
        if (!o || !o->sdi)
                return SR_ERR_ARG;
 
-       if (o->internal) {
-               ctx = o->internal;
+       if (o->priv) {
+               ctx = o->priv;
                g_free(ctx->channel_index);
-               g_free(o->internal);
-               o->internal = NULL;
+               g_free(o->priv);
+               o->priv = NULL;
        }
 
        return SR_OK;
 }
 
-SR_PRIV struct sr_output_format output_csv = {
+SR_PRIV struct sr_output_module output_csv = {
        .id = "csv",
-       .description = "Comma-separated values (CSV)",
+       .name = "CSV",
+       .desc = "Comma-separated values",
+       .options = NULL,
        .init = init,
        .receive = receive,
        .cleanup = cleanup,