return status;
}
-static int init(struct sr_input *in)
+static int init(struct sr_input *in, const char *filename)
{
struct sr_probe *probe;
int num_probes, i;
char *param;
struct context *ctx;
+ (void)filename;
+
if (!(ctx = g_try_malloc0(sizeof(*ctx)))) {
sr_err("Input format context malloc failed.");
return SR_ERR_MALLOC;
static int loadfile(struct sr_input *in, const char *filename)
{
- struct sr_datafeed_header header;
struct sr_datafeed_packet packet;
- struct sr_datafeed_meta_logic meta;
+ struct sr_datafeed_meta meta;
+ struct sr_config *src;
FILE *file;
struct context *ctx;
+ uint64_t samplerate;
ctx = in->internal;
}
/* Send header packet to the session bus. */
- header.feed_version = 1;
- gettimeofday(&header.starttime, NULL);
- packet.type = SR_DF_HEADER;
- packet.payload = &header;
- sr_session_send(in->sdi, &packet);
+ std_session_send_df_header(in->sdi, DRIVER_LOG_DOMAIN);
/* Send metadata about the SR_DF_LOGIC packets to come. */
- packet.type = SR_DF_META_LOGIC;
+ packet.type = SR_DF_META;
packet.payload = &meta;
- meta.samplerate = ctx->samplerate / ctx->downsample;
- meta.num_probes = ctx->probecount;
+ samplerate = ctx->samplerate / ctx->downsample;
+ src = sr_config_new(SR_CONF_SAMPLERATE, g_variant_new_uint64(samplerate));
+ meta.config = g_slist_append(NULL, src);
sr_session_send(in->sdi, &packet);
+ sr_config_free(src);
/* Parse the contents of the VCD file */
parse_contents(file, in->sdi, ctx);