generic circular buffer implementation in C
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.
Ondřej Hruška 84ff40477e renamed some funcs and added partial write funcs 10 years ago
README.md fixed bad typedef name in .h 10 years ago
circbuf.c renamed some funcs and added partial write funcs 10 years ago
circbuf.h renamed some funcs and added partial write funcs 10 years ago

README.md

Circular byte buffer

This is a circular buffer implementation, useful for embedded systems (buffer for UART RX queue etc).

Usage

#include <stdint.h>

uint8_t buffer[32]; // array backing the buffer

CircularBuffer cb; // buffer instance

void main()
{
	cbuf_init(&cb, buffer, 32); // init the buffer
	
	// now it's ready for use!
}

Many function return success flag, so make sure to check the return values.

False is returned on buffer overflow / underflow, attempted read past available data size etc. See the header file for details.

License

Do whatever you want with the code.