+struct lttng_filter_bytecode_node {
+ 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;
+};
+
+/*
+ * Filter return value masks.
+ */
+enum lttng_filter_ret {
+ LTTNG_FILTER_DISCARD = 0,
+ LTTNG_FILTER_RECORD_FLAG = (1ULL << 0),
+ /* Other bits are kept for future use. */
+};
+
+struct lttng_bytecode_runtime {
+ /* Associated bytecode */
+ struct lttng_filter_bytecode_node *bc;
+ uint64_t (*filter)(void *filter_data, const char *filter_stack_data);
+ int link_failed;
+ struct list_head node; /* list of bytecode runtime in event */
+};
+