#ifndef LTTNG_EVENT_EXPR_INTERNAL_H
#define LTTNG_EVENT_EXPR_INTERNAL_H
-#include <assert.h>
#include <common/macros.h>
#include <lttng/event-expr.h>
struct lttng_bytecode;
+struct mi_writer;
struct lttng_event_expr {
enum lttng_event_expr_type type;
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 ||
int lttng_event_expr_to_bytecode(const struct lttng_event_expr *expr,
struct lttng_bytecode **bytecode_out);
+LTTNG_HIDDEN
+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 */