X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fpayload.c;fp=src%2Fcommon%2Fpayload.c;h=592964a519b13ce6996e178df222b50e3cd81e5a;hb=9e620ea7b016fc3fd4e08b5d094ffa40b36b50f6;hp=0000000000000000000000000000000000000000;hpb=5fe3e097f121a17b37c098f87cba2b4a51d6208b;p=lttng-tools.git diff --git a/src/common/payload.c b/src/common/payload.c new file mode 100644 index 000000000..592964a51 --- /dev/null +++ b/src/common/payload.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 Jérémie Galarneau + * + * SPDX-License-Identifier: LGPL-2.1-only + * + */ + +#include "payload.h" + +LTTNG_HIDDEN +void lttng_payload_init(struct lttng_payload *payload) +{ + assert(payload); + lttng_dynamic_buffer_init(&payload->buffer); + lttng_dynamic_array_init(&payload->_fds, sizeof(int), NULL); +} + +LTTNG_HIDDEN +void lttng_payload_reset(struct lttng_payload *payload) +{ + if (!payload) { + return; + } + + lttng_dynamic_buffer_reset(&payload->buffer); + lttng_dynamic_array_reset(&payload->_fds); +} + +LTTNG_HIDDEN +int lttng_payload_push_fd(struct lttng_payload *payload, int fd) +{ + int ret; + + if (!payload) { + ret = -1; + goto end; + } + + ret = lttng_dynamic_array_add_element(&payload->_fds, &fd); +end: + return ret; +}