e1b73239899c1e3077c83bb11a3840ef9ca97c64
[lttng-tools.git] / include / lttng / condition / condition.h
1 /*
2 * Copyright (C) 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8 #ifndef LTTNG_CONDITION_H
9 #define LTTNG_CONDITION_H
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 struct lttng_condition;
16
17 enum lttng_condition_type {
18 LTTNG_CONDITION_TYPE_UNKNOWN = -1,
19 LTTNG_CONDITION_TYPE_SESSION_CONSUMED_SIZE = 100,
20 LTTNG_CONDITION_TYPE_BUFFER_USAGE_HIGH = 101,
21 LTTNG_CONDITION_TYPE_BUFFER_USAGE_LOW = 102,
22 LTTNG_CONDITION_TYPE_SESSION_ROTATION_ONGOING = 103,
23 LTTNG_CONDITION_TYPE_SESSION_ROTATION_COMPLETED = 104,
24 LTTNG_CONDITION_TYPE_EVENT_RULE_HIT = 105,
25 };
26
27 enum lttng_condition_status {
28 LTTNG_CONDITION_STATUS_OK = 0,
29 LTTNG_CONDITION_STATUS_ERROR = -1,
30 LTTNG_CONDITION_STATUS_UNKNOWN = -2,
31 LTTNG_CONDITION_STATUS_INVALID = -3,
32 LTTNG_CONDITION_STATUS_UNSET = -4,
33 LTTNG_CONDITION_STATUS_UNSUPPORTED = -4,
34 };
35
36 /*
37 * Get the type of a condition.
38 *
39 * Returns the type of a condition on success, LTTNG_CONDITION_TYPE_UNKNOWN on
40 * error.
41 */
42 extern enum lttng_condition_type lttng_condition_get_type(
43 const struct lttng_condition *condition);
44
45 /*
46 * Destroy (release) a condition object.
47 */
48 extern void lttng_condition_destroy(struct lttng_condition *condition);
49
50 #ifdef __cplusplus
51 }
52 #endif
53
54 #endif /* LTTNG_CONDITION_H */
This page took 0.030941 seconds and 5 git commands to generate.