X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Flttng%2Fust-events.h;h=331506bd69d838a0c77075489ec3830b859dbe86;hb=8a92ed2aba5250d41e31d1af5620a2317105c91a;hp=e45a6a7187621afc1a09175cacf68409cbc52f23;hpb=21af05a99efabef4da5db10dfb41139873eb9692;p=lttng-ust.git diff --git a/include/lttng/ust-events.h b/include/lttng/ust-events.h index e45a6a71..331506bd 100644 --- a/include/lttng/ust-events.h +++ b/include/lttng/ust-events.h @@ -291,14 +291,27 @@ struct lttng_event; struct lttng_ust_filter_bytecode_node { struct cds_list_head node; - struct lttng_ust_filter_bytecode bc; struct lttng_enabler *enabler; + /* + * struct lttng_ust_filter_bytecode has var. sized array, must + * be last field. + */ + struct lttng_ust_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_ust_filter_bytecode_node *bc; - int (*filter)(void *filter_data, const char *filter_stack_data); + uint64_t (*filter)(void *filter_data, const char *filter_stack_data); int link_failed; struct cds_list_head node; /* list of bytecode runtime in event */ };