alyas:
I don't need the circular buffer so I just need to read the contents of the whole buffer. Once read, I just flush the contents so new data can be written to the buffer.
Why?
You know, I hope, that this buffer is written to by an interrupt, so you are asking for trouble to modify it unrestrained.