A ring buffer that spans over multiple regions, in portable C code. Useful in memory constrained environments where memory is broken up in regions.