| /* |
| * Copyright (c) 2019 Intel corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #include <sys/ring_buffer.h> |
| |
| static struct ring_buf tracing_ring_buf; |
| static uint8_t tracing_buffer[CONFIG_TRACING_BUFFER_SIZE + 1]; |
| static uint8_t tracing_cmd_buffer[CONFIG_TRACING_CMD_BUFFER_SIZE]; |
| |
| uint32_t tracing_cmd_buffer_alloc(uint8_t **data) |
| { |
| *data = &tracing_cmd_buffer[0]; |
| |
| return sizeof(tracing_cmd_buffer); |
| } |
| |
| uint32_t tracing_buffer_put_claim(uint8_t **data, uint32_t size) |
| { |
| return ring_buf_put_claim(&tracing_ring_buf, data, size); |
| } |
| |
| int tracing_buffer_put_finish(uint32_t size) |
| { |
| return ring_buf_put_finish(&tracing_ring_buf, size); |
| } |
| |
| uint32_t tracing_buffer_put(uint8_t *data, uint32_t size) |
| { |
| return ring_buf_put(&tracing_ring_buf, data, size); |
| } |
| |
| uint32_t tracing_buffer_get_claim(uint8_t **data, uint32_t size) |
| { |
| return ring_buf_get_claim(&tracing_ring_buf, data, size); |
| } |
| |
| int tracing_buffer_get_finish(uint32_t size) |
| { |
| return ring_buf_get_finish(&tracing_ring_buf, size); |
| } |
| |
| uint32_t tracing_buffer_get(uint8_t *data, uint32_t size) |
| { |
| return ring_buf_get(&tracing_ring_buf, data, size); |
| } |
| |
| void tracing_buffer_init(void) |
| { |
| ring_buf_init(&tracing_ring_buf, |
| sizeof(tracing_buffer), tracing_buffer); |
| } |
| |
| bool tracing_buffer_is_empty(void) |
| { |
| return ring_buf_is_empty(&tracing_ring_buf); |
| } |
| |
| uint32_t tracing_buffer_capacity_get(void) |
| { |
| return ring_buf_capacity_get(&tracing_ring_buf); |
| } |
| |
| uint32_t tracing_buffer_space_get(void) |
| { |
| return ring_buf_space_get(&tracing_ring_buf); |
| } |