X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Faction%2Flist-internal.hpp;fp=include%2Flttng%2Faction%2Flist-internal.hpp;h=294a53ca24841c2769f12811f7a3a1c73a1a885f;hp=0000000000000000000000000000000000000000;hb=c9e313bc594f40a86eed237dce222c0fc99c957f;hpb=4878de5c7deb512bbdac4fdfc498907efa06fb7c diff --git a/include/lttng/action/list-internal.hpp b/include/lttng/action/list-internal.hpp new file mode 100644 index 000000000..294a53ca2 --- /dev/null +++ b/include/lttng/action/list-internal.hpp @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 Simon Marchi + * + * SPDX-License-Identifier: LGPL-2.1-only + * + */ + +#ifndef LTTNG_ACTION_LIST_INTERNAL_H +#define LTTNG_ACTION_LIST_INTERNAL_H + +#include + +#include + +struct lttng_action; +struct lttng_payload_view; +struct mi_writer; +struct mi_lttng_error_query_callbacks; +struct lttng_dynamic_array; +struct lttng_trigger; + +/* + * Create an action list from a payload view. + * + * On success, return the number of bytes consumed from `view`, and the created + * list in `*list`. On failure, return -1. + */ +extern ssize_t lttng_action_list_create_from_payload( + struct lttng_payload_view *view, + struct lttng_action **list); + +extern struct lttng_action *lttng_action_list_borrow_mutable_at_index( + const struct lttng_action *list, unsigned int index); + +enum lttng_error_code lttng_action_list_mi_serialize(const struct lttng_trigger *trigger, + const struct lttng_action *action, + struct mi_writer *writer, + const struct mi_lttng_error_query_callbacks + *error_query_callbacks, + struct lttng_dynamic_array *action_path_indexes); + +#endif /* LTTNG_ACTION_LIST_INTERNAL_H */