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

#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 */