| 123456789101112131415161718192021222324252627282930313233 |
- #pragma once
- #include "libs/os.h"
- #include "bsp/bsp.h"
- typedef struct {
- u8 *buff;
- u16 size;
- u16 head;
- u16 tail;
- } byte_queue_t;
- u8 *byte_queue_head(byte_queue_t *queue);
- bool byte_queue_empty(const byte_queue_t *queue);
- bool byte_queue_readable(const byte_queue_t *queue);
- bool byte_queue_full(const byte_queue_t *queue);
- bool byte_queue_writeable(const byte_queue_t *queue);
- u16 byte_queue_get_used(const byte_queue_t *queue);
- u16 byte_queue_get_free(const byte_queue_t *queue);
- void byte_queue_reset(byte_queue_t *queue);
- void byte_queue_init(byte_queue_t *queue, u8 *buff, u16 size);
- u16 byte_queue_write(byte_queue_t *queue, const u8 *buff, u16 size);
- u16 byte_queue_write_byte(byte_queue_t *queue, u8 byte);
- u16 byte_queue_read(byte_queue_t *queue, u8 *buff, u16 size);
- void byte_queue_fill(byte_queue_t *queue, u8 *buff, u16 size);
- void byte_queue_skip(byte_queue_t *queue, u16 length);
- u16 byte_queue_peek(byte_queue_t *queue);
- void byte_queue_alloc_init(byte_queue_t *queue, u8 *buff, u8 size);
- void byte_queue_alloc_reset(byte_queue_t *queue);
- u8 byte_queue_alloc(byte_queue_t *queue);
- void byte_queue_free(byte_queue_t *queue, u8 index);
|