diff options
Diffstat (limited to 'platform/linux-generic/odp_buffer.c')
-rw-r--r-- | platform/linux-generic/odp_buffer.c | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/platform/linux-generic/odp_buffer.c b/platform/linux-generic/odp_buffer.c index 278aa8147..82bf61add 100644 --- a/platform/linux-generic/odp_buffer.c +++ b/platform/linux-generic/odp_buffer.c @@ -5,30 +5,28 @@ * SPDX-License-Identifier: BSD-3-Clause */ +#include <odp/api/align.h> #include <odp/api/buffer.h> +#include <odp/api/plat/buffer_inline_types.h> + #include <odp_pool_internal.h> #include <odp_buffer_internal.h> #include <odp_debug_internal.h> +#include <odp_print_internal.h> #include <string.h> #include <stdio.h> #include <inttypes.h> -uint32_t odp_buffer_size(odp_buffer_t buf) -{ - odp_buffer_hdr_t *hdr = _odp_buf_hdr(buf); - pool_t *pool = _odp_pool_entry(hdr->event_hdr.pool); - - return pool->seg_len; -} +#include <odp/visibility_begin.h> -void *odp_buffer_user_area(odp_buffer_t buf) -{ - odp_buffer_hdr_t *hdr = _odp_buf_hdr(buf); +/* Buffer header field offsets for inline functions */ +const _odp_buffer_inline_offset_t _odp_buffer_inline_offset ODP_ALIGNED_CACHE = { + .uarea_addr = offsetof(odp_buffer_hdr_t, uarea_addr) +}; - return hdr->uarea_addr; -} +#include <odp/visibility_end.h> void odp_buffer_print(odp_buffer_t buf) { @@ -39,21 +37,26 @@ void odp_buffer_print(odp_buffer_t buf) char str[max_len]; if (!odp_buffer_is_valid(buf)) { - ODP_ERR("Buffer is not valid.\n"); + _ODP_ERR("Buffer is not valid.\n"); return; } hdr = _odp_buf_hdr(buf); - len += snprintf(&str[len], n - len, "Buffer\n------\n"); - len += snprintf(&str[len], n - len, " pool index %u\n", hdr->event_hdr.index.pool); - len += snprintf(&str[len], n - len, " buffer index %u\n", hdr->event_hdr.index.event); - len += snprintf(&str[len], n - len, " addr %p\n", - (void *)hdr->event_hdr.base_data); - len += snprintf(&str[len], n - len, " size %u\n", odp_buffer_size(buf)); + len += _odp_snprint(&str[len], n - len, "Buffer info\n"); + len += _odp_snprint(&str[len], n - len, "-----------\n"); + len += _odp_snprint(&str[len], n - len, " handle 0x%" PRIx64 "\n", + odp_buffer_to_u64(buf)); + len += _odp_snprint(&str[len], n - len, " pool index %u\n", hdr->event_hdr.index.pool); + len += _odp_snprint(&str[len], n - len, " buffer index %u\n", + hdr->event_hdr.index.event); + len += _odp_snprint(&str[len], n - len, " addr %p\n", + (void *)hdr->event_hdr.base_data); + len += _odp_snprint(&str[len], n - len, " size %u\n", odp_buffer_size(buf)); + len += _odp_snprint(&str[len], n - len, " user area %p\n", hdr->uarea_addr); str[len] = 0; - ODP_PRINT("\n%s\n", str); + _ODP_PRINT("%s\n", str); } uint64_t odp_buffer_to_u64(odp_buffer_t hdl) |