X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fpayload-view.c;fp=src%2Fcommon%2Fpayload-view.c;h=0000000000000000000000000000000000000000;hp=2e6581bb49bb6452a2d247dab4a1b26fb7b3c314;hb=a6bc4ca9d659caf016ef932fcd944029737ac57c;hpb=97535efaa975ca52bf02c2d5e76351bfd2e3defa diff --git a/src/common/payload-view.c b/src/common/payload-view.c deleted file mode 100644 index 2e6581bb4..000000000 --- a/src/common/payload-view.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2020 Jérémie Galarneau - * - * SPDX-License-Identifier: LGPL-2.1-only - * - */ - -#include -#include -#include "payload-view.h" -#include "payload.h" -#include - -bool lttng_payload_view_is_valid(const struct lttng_payload_view *view) -{ - return view && lttng_buffer_view_is_valid(&view->buffer); -} - -struct lttng_payload_view lttng_payload_view_from_payload( - const struct lttng_payload *payload, size_t offset, - ptrdiff_t len) -{ - return payload ? (struct lttng_payload_view) { - .buffer = lttng_buffer_view_from_dynamic_buffer( - &payload->buffer, offset, len), - ._fd_handles = payload->_fd_handles, - } : (struct lttng_payload_view) {}; -} - -struct lttng_payload_view lttng_payload_view_from_view( - struct lttng_payload_view *view, size_t offset, - ptrdiff_t len) -{ - return view ? (struct lttng_payload_view) { - .buffer = lttng_buffer_view_from_view( - &view->buffer, offset, len), - ._fd_handles = view->_fd_handles, - ._iterator.p_fd_handles_position = view->_iterator.p_fd_handles_position ?: - &view->_iterator.fd_handles_position, - } : (struct lttng_payload_view) {}; -} - -struct lttng_payload_view lttng_payload_view_from_dynamic_buffer( - const struct lttng_dynamic_buffer *buffer, size_t offset, - ptrdiff_t len) -{ - return buffer ? (struct lttng_payload_view) { - .buffer = lttng_buffer_view_from_dynamic_buffer( - buffer, offset, len) - } : (struct lttng_payload_view) {}; -} - -struct lttng_payload_view lttng_payload_view_from_buffer_view( - const struct lttng_buffer_view *view, size_t offset, - ptrdiff_t len) -{ - return view ? (struct lttng_payload_view) { - .buffer = lttng_buffer_view_from_view( - view, offset, len) - } : (struct lttng_payload_view) {}; -} - -struct lttng_payload_view lttng_payload_view_init_from_buffer( - const char *src, size_t offset, ptrdiff_t len) -{ - return (struct lttng_payload_view) { - .buffer = lttng_buffer_view_init( - src, offset, len) - }; -} - -int lttng_payload_view_get_fd_handle_count( - const struct lttng_payload_view *payload_view) -{ - int ret; - size_t position; - - if (!payload_view) { - ret = -1; - goto end; - } - - ret = lttng_dynamic_pointer_array_get_count(&payload_view->_fd_handles); - if (ret < 0) { - goto end; - } - - position = payload_view->_iterator.p_fd_handles_position ? - *payload_view->_iterator.p_fd_handles_position : - payload_view->_iterator.fd_handles_position; - ret = ret - (int) position; -end: - return ret; -} - -struct fd_handle *lttng_payload_view_pop_fd_handle( - struct lttng_payload_view *view) -{ - struct fd_handle *handle = NULL; - size_t fd_handle_count; - size_t *pos; - - if (!view) { - goto end; - } - - fd_handle_count = lttng_payload_view_get_fd_handle_count(view); - if (fd_handle_count == 0) { - goto end; - } - - pos = view->_iterator.p_fd_handles_position ? - view->_iterator.p_fd_handles_position : - &view->_iterator.fd_handles_position; - handle = lttng_dynamic_pointer_array_get_pointer(&view->_fd_handles, - *pos); - (*pos)++; - fd_handle_get(handle); -end: - return handle; -}