tests: compile all unit tests as C++
[lttng-tools.git] / include / lttng / action / rate-policy-internal.h
CommitLineData
7f4d5b07
JR
1/*
2 * Copyright (C) 2021 Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8#ifndef LTTNG_RATE_POLICY_INTERNAL_H
9#define LTTNG_RATE_POLICY_INTERNAL_H
10
11#include <common/macros.h>
12#include <common/payload-view.h>
13#include <lttng/action/rate-policy.h>
740da7d5 14#include <lttng/lttng-error.h>
7f4d5b07
JR
15#include <stdbool.h>
16
488dbb60 17
740da7d5
SM
18#ifdef __cplusplus
19extern "C" {
20#endif
21
6a751b95
JR
22struct mi_writer;
23
7f4d5b07
JR
24int lttng_rate_policy_serialize(struct lttng_rate_policy *rate_policy,
25 struct lttng_payload *buf);
26
7f4d5b07
JR
27ssize_t lttng_rate_policy_create_from_payload(struct lttng_payload_view *view,
28 struct lttng_rate_policy **rate_policy);
29
7f4d5b07
JR
30bool lttng_rate_policy_is_equal(const struct lttng_rate_policy *a,
31 const struct lttng_rate_policy *b);
32
7f4d5b07
JR
33const char *lttng_rate_policy_type_string(
34 enum lttng_rate_policy_type rate_policy_type);
35
7f4d5b07
JR
36struct lttng_rate_policy *lttng_rate_policy_copy(
37 const struct lttng_rate_policy *source);
38
7f4d5b07
JR
39bool lttng_rate_policy_should_execute(
40 const struct lttng_rate_policy *policy, uint64_t counter);
41
6a751b95
JR
42enum lttng_error_code lttng_rate_policy_mi_serialize(
43 const struct lttng_rate_policy *policy,
44 struct mi_writer *writer);
45
740da7d5
SM
46#ifdef __cplusplus
47}
48#endif
49
7f4d5b07 50#endif /* LTTNG_RATE_POLICY */
This page took 0.025101 seconds and 4 git commands to generate.