X-Git-Url: http://git.lttng.org/?p=lttng-modules.git;a=blobdiff_plain;f=include%2Flttng%2Fevents.h;h=517d689b049f05d679fa4a205da31d2b20cb1e10;hp=194e89004cb3b451c17719990c3266e9deb9f139;hb=89ec2b91ca249747d87b59aea76e6e67cdf7f0bf;hpb=7ab8c61663d23386a58fb2f36ab8e22d1c0b1efd diff --git a/include/lttng/events.h b/include/lttng/events.h index 194e8900..517d689b 100644 --- a/include/lttng/events.h +++ b/include/lttng/events.h @@ -232,14 +232,20 @@ enum lttng_event_type { LTTNG_TYPE_ENABLER = 1, }; -struct lttng_filter_bytecode_node { +enum lttng_bytecode_node_type { + LTTNG_BYTECODE_NODE_TYPE_FILTER, +}; + +struct lttng_bytecode_node { + enum lttng_bytecode_node_type type; struct list_head node; struct lttng_enabler *enabler; - /* - * struct lttng_kernel_filter_bytecode has var. sized array, must be - * last field. - */ - struct lttng_kernel_filter_bytecode bc; + struct { + uint32_t len; + uint32_t reloc_offset; + uint64_t seqnum; + char data[]; + } bc; }; /* @@ -253,8 +259,9 @@ enum lttng_filter_ret { struct lttng_bytecode_runtime { /* Associated bytecode */ - struct lttng_filter_bytecode_node *bc; - uint64_t (*filter)(void *filter_data, struct lttng_probe_ctx *lttng_probe_ctx, + struct lttng_bytecode_node *bc; + uint64_t (*filter)(void *filter_data, + struct lttng_probe_ctx *lttng_probe_ctx, const char *filter_stack_data); int link_failed; struct list_head node; /* list of bytecode runtime in event */