struct lttng_event;
/*
- * Filter return value masks.
+ * Bytecode interpreter return value masks.
*/
-enum lttng_filter_ret {
- LTTNG_FILTER_DISCARD = 0,
- LTTNG_FILTER_RECORD_FLAG = (1ULL << 0),
+enum lttng_bytecode_interpreter_ret {
+ LTTNG_INTERPRETER_DISCARD = 0,
+ LTTNG_INTERPRETER_RECORD_FLAG = (1ULL << 0),
/* Other bits are kept for future use. */
};
struct lttng_bytecode_runtime {
/* Associated bytecode */
struct lttng_ust_bytecode_node *bc;
- uint64_t (*filter)(void *interpreter_data,
- const char *interpreter_stack_data);
+ union {
+ uint64_t (*filter)(void *interpreter_data,
+ const char *interpreter_stack_data);
+ } interpreter_funcs;
int link_failed;
struct cds_list_head node; /* list of bytecode runtime in event */
/*
lttng_ust_field_list_get_iter_next(struct lttng_ust_field_list *list);
void lttng_free_event_filter_runtime(struct lttng_event *event);
-void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
struct cds_list_head *lttng_get_probe_list_head(void);
int lttng_session_active(void);
struct lttng_ust_excluder_node *excluder);
void lttng_enabler_event_link_bytecode(struct lttng_event *event,
struct lttng_enabler *enabler);
+void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime);
#ifdef __cplusplus
}