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.
20 lines
753 B
20 lines
753 B
#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 */
|
|
|