eec673e007f579b140fcee2899e8be4301a6193b
[lttng-tools.git] / include / lttng / event-rule / event-rule.h
1 /*
2 * Copyright (C) 2019 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8 #ifndef LTTNG_EVENT_RULE_H
9 #define LTTNG_EVENT_RULE_H
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 struct lttng_event_rule;
16
17 enum lttng_event_rule_type {
18 LTTNG_EVENT_RULE_TYPE_UNKNOWN = -1,
19 LTTNG_EVENT_RULE_TYPE_TRACEPOINT = 0,
20 LTTNG_EVENT_RULE_TYPE_SYSCALL = 1,
21 LTTNG_EVENT_RULE_TYPE_KERNEL_PROBE = 2,
22 LTTNG_EVENT_RULE_TYPE_KERNEL_FUNCTION = 3,
23 LTTNG_EVENT_RULE_TYPE_USERSPACE_PROBE = 4,
24 };
25
26 enum lttng_event_rule_status {
27 LTTNG_EVENT_RULE_STATUS_OK = 0,
28 LTTNG_EVENT_RULE_STATUS_ERROR = -1,
29 LTTNG_EVENT_RULE_STATUS_UNKNOWN = -2,
30 LTTNG_EVENT_RULE_STATUS_INVALID = -3,
31 LTTNG_EVENT_RULE_STATUS_UNSET = -4,
32 LTTNG_EVENT_RULE_STATUS_UNSUPPORTED = -5,
33 };
34
35 /**
36 * An event rule describes a set of criteria to be used as a discriminant in
37 * regards to a set of events.
38 */
39
40 /*
41 * Get the event rule type.
42 *
43 * Returns the type of an event rule on success, LTTNG_EVENT_RULE_UNKNOWN on
44 * error.
45 */
46 extern enum lttng_event_rule_type lttng_event_rule_get_type(
47 const struct lttng_event_rule *event_rule);
48
49 /*
50 * Destroy an event rule object.
51 */
52 extern void lttng_event_rule_destroy(struct lttng_event_rule *rule);
53
54 #ifdef __cplusplus
55 }
56 #endif
57
58 #endif /* LTTNG_EVENT_RULE_H */
This page took 0.0316 seconds and 3 git commands to generate.