2 * Copyright (C) 2020 Simon Marchi <simon.marchi@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef COMMON_SNAPSHOT_H
9 #define COMMON_SNAPSHOT_H
11 #include <common/macros.hpp>
14 #include <sys/types.h>
16 struct lttng_payload_view;
18 struct lttng_snapshot_output;
21 bool lttng_snapshot_output_validate(const struct lttng_snapshot_output *output);
23 bool lttng_snapshot_output_is_equal(
24 const struct lttng_snapshot_output *a,
25 const struct lttng_snapshot_output *b);
27 int lttng_snapshot_output_serialize(
28 const struct lttng_snapshot_output *output,
29 struct lttng_payload *payload);
31 ssize_t lttng_snapshot_output_create_from_payload(
32 struct lttng_payload_view *view,
33 struct lttng_snapshot_output **output_p);
35 enum lttng_error_code lttng_snapshot_output_mi_serialize(
36 const struct lttng_snapshot_output *output,
37 struct mi_writer *writer);
39 #endif /* COMMON_SNAPSHOT_H */