#ifndef RING_BUFFER_H #define RING_BUFFER_H #include #include 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 */