X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Fevent-expr-internal.h;h=469fd17bbf32f685ff05f42760aae07eaaf6c82c;hb=4878de5c7deb512bbdac4fdfc498907efa06fb7c;hp=88fa695de9d154882e9a8d44ed5d9865594126df;hpb=48c475643635d97d56fc251ca0b54e67ff25a51f;p=lttng-tools.git diff --git a/include/lttng/event-expr-internal.h b/include/lttng/event-expr-internal.h index 88fa695de..469fd17bb 100644 --- a/include/lttng/event-expr-internal.h +++ b/include/lttng/event-expr-internal.h @@ -8,9 +8,12 @@ #ifndef LTTNG_EVENT_EXPR_INTERNAL_H #define LTTNG_EVENT_EXPR_INTERNAL_H -#include +#include #include +struct lttng_bytecode; +struct mi_writer; + struct lttng_event_expr { enum lttng_event_expr_type type; }; @@ -47,11 +50,18 @@ struct lttng_event_expr_array_field_element { static inline bool lttng_event_expr_is_lvalue(const struct lttng_event_expr *expr) { - assert(expr); + LTTNG_ASSERT(expr); return expr->type == LTTNG_EVENT_EXPR_TYPE_EVENT_PAYLOAD_FIELD || expr->type == LTTNG_EVENT_EXPR_TYPE_CHANNEL_CONTEXT_FIELD || expr->type == LTTNG_EVENT_EXPR_TYPE_APP_SPECIFIC_CONTEXT_FIELD || expr->type == LTTNG_EVENT_EXPR_TYPE_ARRAY_FIELD_ELEMENT; } +int lttng_event_expr_to_bytecode(const struct lttng_event_expr *expr, + struct lttng_bytecode **bytecode_out); + +enum lttng_error_code lttng_event_expr_mi_serialize( + const struct lttng_event_expr *expression, + struct mi_writer *writer); + #endif /* LTTNG_EVENT_EXPR_INTERNAL_H */