Introduce lttng_event_rule_user_tracepoint
[lttng-tools.git] / include / lttng / event-rule / event-rule.h
CommitLineData
7a3dcaf6
JR
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
12extern "C" {
13#endif
14
15struct lttng_event_rule;
16
17enum lttng_event_rule_type {
18 LTTNG_EVENT_RULE_TYPE_UNKNOWN = -1,
19 LTTNG_EVENT_RULE_TYPE_TRACEPOINT = 0,
213efb0c 20 LTTNG_EVENT_RULE_TYPE_KERNEL_SYSCALL = 1,
d84633c4 21 LTTNG_EVENT_RULE_TYPE_KERNEL_KPROBE = 2,
f2d09181 22 LTTNG_EVENT_RULE_TYPE_KERNEL_FUNCTION = 3,
b25b2570
JR
23 LTTNG_EVENT_RULE_TYPE_KERNEL_TRACEPOINT = 4,
24 LTTNG_EVENT_RULE_TYPE_KERNEL_UPROBE = 5,
cc66eccf 25 LTTNG_EVENT_RULE_TYPE_USER_TRACEPOINT = 6,
7a3dcaf6
JR
26};
27
28enum lttng_event_rule_status {
29 LTTNG_EVENT_RULE_STATUS_OK = 0,
30 LTTNG_EVENT_RULE_STATUS_ERROR = -1,
31 LTTNG_EVENT_RULE_STATUS_UNKNOWN = -2,
32 LTTNG_EVENT_RULE_STATUS_INVALID = -3,
33 LTTNG_EVENT_RULE_STATUS_UNSET = -4,
34 LTTNG_EVENT_RULE_STATUS_UNSUPPORTED = -5,
35};
36
37/**
38 * An event rule describes a set of criteria to be used as a discriminant in
39 * regards to a set of events.
40 */
41
42/*
43 * Get the event rule type.
44 *
45 * Returns the type of an event rule on success, LTTNG_EVENT_RULE_UNKNOWN on
46 * error.
47 */
48extern enum lttng_event_rule_type lttng_event_rule_get_type(
49 const struct lttng_event_rule *event_rule);
50
51/*
52 * Destroy an event rule object.
53 */
54extern void lttng_event_rule_destroy(struct lttng_event_rule *rule);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif /* LTTNG_EVENT_RULE_H */
This page took 0.031536 seconds and 5 git commands to generate.