uint8_t uuid[16];
bool is_uuid_set;
int bo;
+ struct ctf_metadata_decoder_config config;
};
struct packet_header {
BT_HIDDEN
struct ctf_metadata_decoder *ctf_metadata_decoder_create(
- int64_t clock_class_offset_ns, const char *name)
+ const struct ctf_metadata_decoder_config *config,
+ const char *name)
{
struct ctf_metadata_decoder *mdec =
g_new0(struct ctf_metadata_decoder, 1);
+ struct ctf_metadata_decoder_config default_config = {
+ .clock_class_offset_s = 0,
+ .clock_class_offset_ns = 0,
+ .strict = false,
+ };
+
+ if (!config) {
+ config = &default_config;
+ }
BT_LOGD("Creating CTF metadata decoder: "
- "clock-class-offset-ns=%" PRId64 ", name=\"%s\"",
- clock_class_offset_ns, name);
+ "clock-class-offset-s=%" PRId64 ", "
+ "clock-class-offset-ns=%" PRId64 ", "
+ "strict=%d, name=\"%s\"",
+ config->clock_class_offset_s, config->clock_class_offset_ns,
+ config->strict, name);
if (!mdec) {
BT_LOGE_STR("Failed to allocate one CTF metadata decoder.");
goto end;
}
- mdec->visitor = ctf_visitor_generate_ir_create(clock_class_offset_ns,
- name);
+ mdec->config = *config;
+ mdec->visitor = ctf_visitor_generate_ir_create(config, name);
if (!mdec->visitor) {
BT_LOGE("Failed to create a CTF IR metadata AST visitor: "
"mdec-addr=%p", mdec);
goto end;
}
- BT_LOGD("Created CTF metadata decoder: "
- "clock-class-offset-ns=%" PRId64 ", name=\"%s\", addr=%p",
- clock_class_offset_ns, name, mdec);
+ BT_LOGD("Creating CTF metadata decoder: "
+ "clock-class-offset-s=%" PRId64 ", "
+ "clock-class-offset-ns=%" PRId64 ", "
+ "strict=%d, name=\"%s\", addr=%p",
+ config->clock_class_offset_s, config->clock_class_offset_ns,
+ config->strict, name, mdec);
end:
return mdec;