effc1e1f580a5c8efe3308f875c2774578b3a3a9
[lttng-tools.git] / include / lttng / condition / session-consumed-size-internal.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_CONDITION_SESSION_CONSUMED_SIZE_INTERNAL_H
9 #define LTTNG_CONDITION_SESSION_CONSUMED_SIZE_INTERNAL_H
10
11 #include <lttng/condition/session-consumed-size.h>
12 #include <lttng/condition/condition-internal.h>
13 #include <lttng/condition/evaluation-internal.h>
14 #include <common/buffer-view.h>
15 #include <common/macros.h>
16
17 struct lttng_condition_session_consumed_size {
18 struct lttng_condition parent;
19 struct {
20 bool set;
21 uint64_t value;
22 } consumed_threshold_bytes;
23 char *session_name;
24 };
25
26 struct lttng_condition_session_consumed_size_comm {
27 uint64_t consumed_threshold_bytes;
28 /* Length includes the trailing \0. */
29 uint32_t session_name_len;
30 char session_name[];
31 } LTTNG_PACKED;
32
33 struct lttng_evaluation_session_consumed_size {
34 struct lttng_evaluation parent;
35 uint64_t session_consumed;
36 };
37
38 struct lttng_evaluation_session_consumed_size_comm {
39 uint64_t session_consumed;
40 } LTTNG_PACKED;
41
42 LTTNG_HIDDEN
43 struct lttng_evaluation *lttng_evaluation_session_consumed_size_create(
44 uint64_t consumed);
45
46 LTTNG_HIDDEN
47 ssize_t lttng_condition_session_consumed_size_create_from_buffer(
48 const struct lttng_buffer_view *view,
49 struct lttng_condition **condition);
50
51 LTTNG_HIDDEN
52 ssize_t lttng_evaluation_session_consumed_size_create_from_buffer(
53 const struct lttng_buffer_view *view,
54 struct lttng_evaluation **evaluation);
55
56 #endif /* LTTNG_CONDITION_SESSION_CONSUMED_SIZE_INTERNAL_H */
This page took 0.029813 seconds and 3 git commands to generate.