LTTng control library C API
Loading...
Searching...
No Matches
event-expr.h
1/*
2 * SPDX-FileCopyrightText: 2020 Philippe Proulx <pproulx@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8#ifndef LTTNG_EVENT_EXPR_H
9#define LTTNG_EVENT_EXPR_H
10
11#include <lttng/lttng-export.h>
12
13#include <stdbool.h>
14
15struct lttng_event_expr;
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
49
61
75LTTNG_EXPORT extern enum lttng_event_expr_type
76lttng_event_expr_get_type(const struct lttng_event_expr *expr);
77
93LTTNG_EXPORT extern struct lttng_event_expr *
95
118LTTNG_EXPORT extern const char *
119lttng_event_expr_event_payload_field_get_name(const struct lttng_event_expr *expr);
120
150LTTNG_EXPORT extern struct lttng_event_expr *
152
175LTTNG_EXPORT extern const char *
176lttng_event_expr_channel_context_field_get_name(const struct lttng_event_expr *expr);
177
201LTTNG_EXPORT extern struct lttng_event_expr *
203 const char *type_name);
204
228LTTNG_EXPORT extern const char *
230
254LTTNG_EXPORT extern const char *
256
281LTTNG_EXPORT extern struct lttng_event_expr *
282lttng_event_expr_array_field_element_create(struct lttng_event_expr *array_field_expr,
283 unsigned int index);
284
311LTTNG_EXPORT extern const struct lttng_event_expr *
312lttng_event_expr_array_field_element_get_parent_expr(const struct lttng_event_expr *expr);
313
340LTTNG_EXPORT extern enum lttng_event_expr_status
341lttng_event_expr_array_field_element_get_index(const struct lttng_event_expr *expr,
342 unsigned int *index);
343
365LTTNG_EXPORT extern bool lttng_event_expr_is_equal(const struct lttng_event_expr *expr_a,
366 const struct lttng_event_expr *expr_b);
367
379LTTNG_EXPORT extern void lttng_event_expr_destroy(struct lttng_event_expr *expr);
380
382
383#ifdef __cplusplus
384}
385#endif
386
387#endif /* LTTNG_EVENT_EXPR_H */
struct lttng_event_expr * lttng_event_expr_channel_context_field_create(const char *field_name)
Creates a statically-known context field reference expression for the context field named field_name.
enum lttng_event_expr_status lttng_event_expr_array_field_element_get_index(const struct lttng_event_expr *expr, unsigned int *index)
Sets *index to the index of the array field element reference expressionexpr.
const char * lttng_event_expr_event_payload_field_get_name(const struct lttng_event_expr *expr)
Returns the name of the referenced payload field of the event payload field reference expression expr...
lttng_event_expr_type
Event expression type.
Definition event-expr.h:33
void lttng_event_expr_destroy(struct lttng_event_expr *expr)
Destroys the event expression expr.
const char * lttng_event_expr_app_specific_context_field_get_type_name(const struct lttng_event_expr *expr)
Returns the type name of the referenced field of the application-specific context field reference exp...
struct lttng_event_expr * lttng_event_expr_app_specific_context_field_create(const char *provider_name, const char *type_name)
Creates an application-specific context field reference expression for the application-specific conte...
const char * lttng_event_expr_channel_context_field_get_name(const struct lttng_event_expr *expr)
Returns the name of the referenced context field of the statically-known context field reference expr...
const struct lttng_event_expr * lttng_event_expr_array_field_element_get_parent_expr(const struct lttng_event_expr *expr)
Returns the parent array field expression of the array field element reference expressionexpr.
lttng_event_expr_status
Return type of event expression API functions.
Definition event-expr.h:54
const char * lttng_event_expr_app_specific_context_field_get_provider_name(const struct lttng_event_expr *expr)
Returns the provider name of the referenced field of the application-specific context field reference...
struct lttng_event_expr * lttng_event_expr_array_field_element_create(struct lttng_event_expr *array_field_expr, unsigned int index)
Creates an array field element reference expression for the parent array field referred by array_fiel...
enum lttng_event_expr_type lttng_event_expr_get_type(const struct lttng_event_expr *expr)
Returns the type of the event expression expr.
bool lttng_event_expr_is_equal(const struct lttng_event_expr *expr_a, const struct lttng_event_expr *expr_b)
Returns whether or not the event expressions expr_a and expr_b are equal.
struct lttng_event_expr * lttng_event_expr_event_payload_field_create(const char *field_name)
Creates an event payload field reference expression for the payload field named field_name.
@ LTTNG_EVENT_EXPR_TYPE_INVALID
Unsatisfied precondition.
Definition event-expr.h:47
@ LTTNG_EVENT_EXPR_TYPE_EVENT_PAYLOAD_FIELD
Payload field reference.
Definition event-expr.h:35
@ LTTNG_EVENT_EXPR_TYPE_CHANNEL_CONTEXT_FIELD
Statically-known context field reference.
Definition event-expr.h:38
@ LTTNG_EVENT_EXPR_TYPE_APP_SPECIFIC_CONTEXT_FIELD
Application-specific context field reference.
Definition event-expr.h:41
@ LTTNG_EVENT_EXPR_TYPE_ARRAY_FIELD_ELEMENT
Array field element reference.
Definition event-expr.h:44
@ LTTNG_EVENT_EXPR_STATUS_OK
Success.
Definition event-expr.h:56
@ LTTNG_EVENT_EXPR_STATUS_INVALID
Unsatisfied precondition.
Definition event-expr.h:59