2 * Copyright (C) 2018 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 * Copyright (C) 2020 Jérémie Galarneau <jeremie.galarneau@efficios.com>
5 * SPDX-License-Identifier: GPL-2.0-only
10 #define _LTT_TRACKER_H
12 #include <common/tracker.h>
13 #include <lttng/tracker.h>
15 struct process_attr_tracker
;
17 enum process_attr_tracker_status
{
18 PROCESS_ATTR_TRACKER_STATUS_OK
,
19 PROCESS_ATTR_TRACKER_STATUS_ERROR
,
20 PROCESS_ATTR_TRACKER_STATUS_EXISTS
,
21 PROCESS_ATTR_TRACKER_STATUS_MISSING
,
22 PROCESS_ATTR_TRACKER_STATUS_INVALID_TRACKING_POLICY
,
25 struct process_attr_tracker
*process_attr_tracker_create(void);
26 void process_attr_tracker_destroy(struct process_attr_tracker
*tracker
);
28 enum lttng_tracking_policy
process_attr_tracker_get_tracking_policy(
29 const struct process_attr_tracker
*tracker
);
30 int process_attr_tracker_set_tracking_policy(
31 struct process_attr_tracker
*tracker
,
32 enum lttng_tracking_policy tracking_policy
);
34 enum process_attr_tracker_status
process_attr_tracker_inclusion_set_add_value(
35 struct process_attr_tracker
*tracker
,
36 const struct process_attr_value
*value
);
37 enum process_attr_tracker_status
38 process_attr_tracker_inclusion_set_remove_value(
39 struct process_attr_tracker
*tracker
,
40 const struct process_attr_value
*value
);
42 enum process_attr_tracker_status
process_attr_tracker_get_inclusion_set(
43 const struct process_attr_tracker
*tracker
,
44 struct lttng_process_attr_values
**values
);
46 #endif /* _LTT_TRACKER_H */