2 * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_CONDITION_H
9 #define LTTNG_CONDITION_H
11 #include <lttng/lttng-export.h>
17 struct lttng_condition
;
19 enum lttng_condition_type
{
20 LTTNG_CONDITION_TYPE_UNKNOWN
= -1,
21 LTTNG_CONDITION_TYPE_SESSION_CONSUMED_SIZE
= 100,
22 LTTNG_CONDITION_TYPE_BUFFER_USAGE_HIGH
= 101,
23 LTTNG_CONDITION_TYPE_BUFFER_USAGE_LOW
= 102,
24 LTTNG_CONDITION_TYPE_SESSION_ROTATION_ONGOING
= 103,
25 LTTNG_CONDITION_TYPE_SESSION_ROTATION_COMPLETED
= 104,
26 LTTNG_CONDITION_TYPE_EVENT_RULE_MATCHES
= 105,
29 enum lttng_condition_status
{
30 LTTNG_CONDITION_STATUS_OK
= 0,
31 LTTNG_CONDITION_STATUS_ERROR
= -1,
32 LTTNG_CONDITION_STATUS_UNKNOWN
= -2,
33 LTTNG_CONDITION_STATUS_INVALID
= -3,
34 LTTNG_CONDITION_STATUS_UNSET
= -4,
35 LTTNG_CONDITION_STATUS_UNSUPPORTED
= -5,
39 * Get the type of a condition.
41 * Returns the type of a condition on success, LTTNG_CONDITION_TYPE_UNKNOWN on
44 LTTNG_EXPORT
extern enum lttng_condition_type
lttng_condition_get_type(
45 const struct lttng_condition
*condition
);
48 * Destroy (release) a condition object.
50 LTTNG_EXPORT
extern void lttng_condition_destroy(struct lttng_condition
*condition
);
56 #endif /* LTTNG_CONDITION_H */