buffer.h 384 B

12345678910111213141516171819202122
  1. #pragma once
  2. #include "stdint.h"
  3. struct ring_buffer {
  4. char* const buf_start_pos;
  5. char* const buf_end_pos;
  6. char* base;
  7. char* head;
  8. size_t count;
  9. };
  10. int32_t
  11. ring_buffer_empty(struct ring_buffer* buf);
  12. int32_t
  13. ring_buffer_full(struct ring_buffer* buf);
  14. char ring_buffer_read(struct ring_buffer* buf);
  15. int32_t
  16. ring_buffer_write(struct ring_buffer* buf, char c);