struct session_vdev *vdev;
struct sr_datafeed_header *header;
struct sr_datafeed_packet *packet;
- int err;
+ struct sr_datafeed_meta_logic meta;
+ int ret;
if (!(vdev = get_vdev_by_index(dev_index)))
return SR_ERR;
sr_info("session_driver: opening archive %s file %s", sessionfile,
vdev->capturefile);
- if (!(vdev->archive = zip_open(sessionfile, 0, &err))) {
+ if (!(vdev->archive = zip_open(sessionfile, 0, &ret))) {
sr_err("session driver: Failed to open session file '%s': "
- "zip error %d\n", sessionfile, err);
+ "zip error %d\n", sessionfile, ret);
return SR_ERR;
}
packet->payload = (unsigned char *)header;
header->feed_version = 1;
gettimeofday(&header->starttime, NULL);
- header->samplerate = vdev->samplerate;
- header->num_logic_probes = vdev->num_probes;
sr_session_send(cb_data, packet);
+
+ /* Send metadata about the SR_DF_LOGIC packets to come. */
+ packet->type = SR_DF_META_LOGIC;
+ packet->payload = &meta;
+ meta.samplerate = vdev->samplerate;
+ meta.num_probes = vdev->num_probes;
+ sr_session_send(cb_data, packet);
+
g_free(header);
g_free(packet);