#ifndef LTTNG_EVENT_EXPR_H
#define LTTNG_EVENT_EXPR_H
+#include <lttng/lttng-export.h>
#include <stdbool.h>
struct lttng_event_expr;
* Returns the type of the event expression `expr`, or
* `LTTNG_EVENT_EXPR_TYPE_INVALID` if `expr` is `NULL`.
*/
-extern enum lttng_event_expr_type lttng_event_expr_get_type(
+LTTNG_EXPORT extern enum lttng_event_expr_type lttng_event_expr_get_type(
const struct lttng_event_expr *expr);
/*
* * There's a memory error.
* * `field_name` is `NULL`.
*/
-extern struct lttng_event_expr *lttng_event_expr_event_payload_field_create(
+LTTNG_EXPORT extern struct lttng_event_expr *lttng_event_expr_event_payload_field_create(
const char *field_name);
/*
* * The type of `expr` is not
* `LTTNG_EVENT_EXPR_TYPE_EVENT_PAYLOAD_FIELD`.
*/
-extern const char *lttng_event_expr_event_payload_field_get_name(
+LTTNG_EXPORT extern const char *lttng_event_expr_event_payload_field_get_name(
const struct lttng_event_expr *expr);
/*
* * There's a memory error.
* * `field_name` is `NULL`.
*/
-extern struct lttng_event_expr *
+LTTNG_EXPORT extern struct lttng_event_expr *
lttng_event_expr_channel_context_field_create(const char *field_name);
/*
* * The type of `expr` is not
* `LTTNG_EVENT_EXPR_TYPE_CHANNEL_CONTEXT_FIELD`.
*/
-extern const char *lttng_event_expr_channel_context_field_get_name(
+LTTNG_EXPORT extern const char *lttng_event_expr_channel_context_field_get_name(
const struct lttng_event_expr *expr);
/*
* * `provider_name` is `NULL`.
* * `type_name` is `NULL`.
*/
-extern struct lttng_event_expr *
+LTTNG_EXPORT extern struct lttng_event_expr *
lttng_event_expr_app_specific_context_field_create(
const char *provider_name, const char *type_name);
* * The type of `expr` is not
* `LTTNG_EVENT_EXPR_TYPE_APP_SPECIFIC_CONTEXT_FIELD`.
*/
-extern const char *
+LTTNG_EXPORT extern const char *
lttng_event_expr_app_specific_context_field_get_provider_name(
const struct lttng_event_expr *expr);
* * The type of `expr` is not
* `LTTNG_EVENT_EXPR_TYPE_APP_SPECIFIC_CONTEXT_FIELD`.
*/
-extern const char *
+LTTNG_EXPORT extern const char *
lttng_event_expr_app_specific_context_field_get_type_name(
const struct lttng_event_expr *expr);
* * `LTTNG_EVENT_EXPR_TYPE_APP_SPECIFIC_CONTEXT_FIELD`
* * `LTTNG_EVENT_EXPR_TYPE_ARRAY_FIELD_ELEMENT`
*/
-extern struct lttng_event_expr *lttng_event_expr_array_field_element_create(
+LTTNG_EXPORT extern struct lttng_event_expr *lttng_event_expr_array_field_element_create(
struct lttng_event_expr *array_field_expr,
unsigned int index);
* * The type of `expr` is not
* `LTTNG_EVENT_EXPR_TYPE_ARRAY_FIELD_ELEMENT`.
*/
-extern const struct lttng_event_expr *
+LTTNG_EXPORT extern const struct lttng_event_expr *
lttng_event_expr_array_field_element_get_parent_expr(
const struct lttng_event_expr *expr);
* `LTTNG_EVENT_EXPR_TYPE_ARRAY_FIELD_ELEMENT`.
* * `index` is `NULL`.
*/
-extern enum lttng_event_expr_status
+LTTNG_EXPORT extern enum lttng_event_expr_status
lttng_event_expr_array_field_element_get_index(
const struct lttng_event_expr *expr, unsigned int *index);
*
* `expr_a` and `expr_b` can be `NULL`.
*/
-extern bool lttng_event_expr_is_equal(const struct lttng_event_expr *expr_a,
+LTTNG_EXPORT extern bool lttng_event_expr_is_equal(const struct lttng_event_expr *expr_a,
const struct lttng_event_expr *expr_b);
/*
* Destroys the event expression `expr` if not `NULL`.
*/
-extern void lttng_event_expr_destroy(struct lttng_event_expr *expr);
+LTTNG_EXPORT extern void lttng_event_expr_destroy(struct lttng_event_expr *expr);
#ifdef __cplusplus
}