* - 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. */
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;
int num_channels, i;
char *samplerate_s;
- ctx = o->internal;
+ ctx = o->priv;
header = g_string_sized_new(512);
/* Some metadata */
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;
*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) {
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,