1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef DATA_QUEUE_H 7 #include <zephyr/kernel.h> 8 9 10 struct data_queue { 11 struct k_queue q; 12 struct k_heap h; 13 }; 14 15 void data_queue_init(struct data_queue *q, void *mem, size_t bytes); 16 17 int data_queue_put(struct data_queue *q, const void *data, size_t bytes, k_timeout_t timeout); 18 19 void *data_queue_get(struct data_queue *q, size_t *size, k_timeout_t timeout); 20 21 void data_queue_release(struct data_queue *q, void *data); 22 23 int data_queue_is_empty(struct data_queue *q); 24 25 #endif /* DATA_QUEUE_H */ 26