#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/slab.h>
-#include "wrapper/vmalloc.h" /* for wrapper_vmalloc_sync_all() */
-#include "lttng-events.h"
-#include "lttng-tracer.h"
+#include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_all() */
+#include <lttng-events.h>
+#include <lttng-tracer.h>
/*
* The filter implementation requires that two consecutive "get" for the
int lttng_get_context_index(struct lttng_ctx *ctx, const char *name)
{
unsigned int i;
+ const char *subname;
if (!ctx)
return -1;
+ if (strncmp(name, "$ctx.", strlen("$ctx.")) == 0) {
+ subname = name + strlen("$ctx.");
+ } else {
+ subname = name;
+ }
for (i = 0; i < ctx->nr_fields; i++) {
/* Skip allocated (but non-initialized) contexts */
if (!ctx->fields[i].event_field.name)
continue;
- if (!strcmp(ctx->fields[i].event_field.name, name))
+ if (!strcmp(ctx->fields[i].event_field.name, subname))
return i;
}
return -1;
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_string:
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_array:
case atype_sequence:
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
default:
WARN_ON_ONCE(1);
break;
case atype_string:
break;
+ case atype_struct:
+ case atype_array_compound:
+ case atype_sequence_compound:
+ case atype_variant:
+ break;
+
case atype_enum:
default:
WARN_ON_ONCE(1);