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