bin: compile lttng-consumerd as a C++
[lttng-tools.git] / include / lttng / action / list.h
CommitLineData
0c51e8f3
SM
1/*
2 * Copyright (C) 2019 Simon Marchi <simon.marchi@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
702f26c8
JR
8#ifndef LTTNG_ACTION_LIST_H
9#define LTTNG_ACTION_LIST_H
0c51e8f3
SM
10
11struct lttng_action;
0c51e8f3
SM
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17/*
702f26c8 18 * Create a newly allocated action list object.
0c51e8f3 19 *
702f26c8
JR
20 * Returns a new action list on success, NULL on failure. This action list
21 * must be destroyed using lttng_action_list_destroy().
0c51e8f3 22 */
702f26c8 23extern struct lttng_action *lttng_action_list_create(void);
0c51e8f3
SM
24
25/*
702f26c8 26 * Add an action to an lttng_action object of type LTTNG_ACTION_LIST.
0c51e8f3 27 *
702f26c8 28 * The action list acquires a reference to the action. The action can be
0c51e8f3 29 * safely destroyed after calling this function. An action must not be
a8940c5e 30 * modified after adding it to a list.
0c51e8f3 31 *
702f26c8 32 * Adding an action list to an action list is not supported.
0c51e8f3 33 */
702f26c8 34extern enum lttng_action_status lttng_action_list_add_action(
a8940c5e 35 struct lttng_action *list, struct lttng_action *action);
0c51e8f3
SM
36
37/*
702f26c8 38 * Get the number of actions in an action list.
0c51e8f3 39 */
702f26c8 40extern enum lttng_action_status lttng_action_list_get_count(
a8940c5e 41 const struct lttng_action *list, unsigned int *count);
0c51e8f3
SM
42
43/*
702f26c8 44 * Get an action from the action list at a given index.
0c51e8f3 45 *
a8940c5e 46 * Note that the list maintains the ownership of the returned action.
0c51e8f3 47 * It must not be destroyed by the user, nor should it be held beyond
702f26c8 48 * the lifetime of the action list.
0c51e8f3
SM
49 *
50 * Returns an action, or NULL on error.
51 */
702f26c8 52extern const struct lttng_action *lttng_action_list_get_at_index(
a8940c5e 53 const struct lttng_action *list,
0c51e8f3
SM
54 unsigned int index);
55
56#ifdef __cplusplus
57}
58#endif
59
702f26c8 60#endif /* LTTNG_ACTION_LIST_H */
This page took 0.028437 seconds and 4 git commands to generate.