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 9 years ago
README.md fixed bad typedef name in .h 9 years ago
circbuf.c renamed some funcs and added partial write funcs 9 years ago
circbuf.h renamed some funcs and added partial write funcs 9 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.