cc26ed9141e33d142b2488c67052061e45b76047
[lttng-tools.git] / include / lttng / action / action.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_ACTION_H
9 #define LTTNG_ACTION_H
10
11 struct lttng_action;
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 enum lttng_action_type {
18 LTTNG_ACTION_TYPE_UNKNOWN = -1,
19 LTTNG_ACTION_TYPE_NOTIFY = 0,
20 LTTNG_ACTION_TYPE_START_SESSION = 1,
21 LTTNG_ACTION_TYPE_STOP_SESSION = 2,
22 };
23
24 enum lttng_action_status {
25 LTTNG_ACTION_STATUS_OK = 0,
26 LTTNG_ACTION_STATUS_ERROR = -1,
27 LTTNG_ACTION_STATUS_UNKNOWN = -2,
28 LTTNG_ACTION_STATUS_INVALID = -3,
29 LTTNG_ACTION_STATUS_UNSET = -4,
30 };
31
32 /*
33 * Get the type of an action.
34 *
35 * Returns the type of an action on success, LTTNG_ACTION_TYPE_UNKNOWN on error.
36 */
37 extern enum lttng_action_type lttng_action_get_type(
38 struct lttng_action *action);
39
40 /*
41 * Destroy (frees) an action object.
42 */
43 extern void lttng_action_destroy(struct lttng_action *action);
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49 #endif /* LTTNG_ACTION_H */
This page took 0.043164 seconds and 3 git commands to generate.