blob: 553ae7672cd69bb1669adc85e520cd44dee57fe8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#ifndef RINGBUFFER_H
#define RINGBUFFER_H
#include "types.h"
typedef struct {
u8 *buffer;
size_t len;
size_t read;
size_t write;
} ringbuffer_t;
ringbuffer_t *ringbuffer_alloc(size_t len);
void ringbuffer_free(ringbuffer_t *bfr);
size_t ringbuffer_read(u8 *target, size_t len, ringbuffer_t *bfr);
size_t ringbuffer_write(const u8 *src, size_t len, ringbuffer_t *bfr);
size_t ringbuffer_get_used(ringbuffer_t *bfr);
size_t ringbuffer_get_free(ringbuffer_t *bfr);
#endif
|