You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
753 B
21 lines
753 B
|
5 months ago
|
#ifndef RING_BUFFER_H
|
||
|
|
#define RING_BUFFER_H
|
||
|
|
|
||
|
|
#include <stddef.h>
|
||
|
|
#include <stdint.h>
|
||
|
|
|
||
|
|
struct ring_buffer;
|
||
|
|
|
||
|
|
int ring_buffer__init(struct ring_buffer **buffer, size_t size);
|
||
|
|
int ring_buffer__fini(struct ring_buffer *buffer);
|
||
|
|
int ring_buffer__write(struct ring_buffer *buffer, uint8_t *data,
|
||
|
|
size_t datalen);
|
||
|
|
int ring_buffer__read(struct ring_buffer *buffer, uint8_t *data,
|
||
|
|
size_t *datalen);
|
||
|
|
int ring_buffer__unread(struct ring_buffer *buffer, size_t bytes);
|
||
|
|
int ring_buffer__ack(struct ring_buffer *buffer, size_t acked_bytes);
|
||
|
|
int ring_buffer__get_unread_bytes(struct ring_buffer *buffer, size_t *bytes);
|
||
|
|
int ring_buffer__get_free_bytes(struct ring_buffer *buffer, size_t *bytes);
|
||
|
|
|
||
|
|
#endif /* RING_BUFFER_H */
|