#pragma once #include typedef struct { size_t size; size_t cap; uint8_t *data; uint8_t *read, *write; } ringbuffer_t; ringbuffer_t *make_ringbuffer(size_t size); int ringbuffer_push(ringbuffer_t *buf, uint8_t val); uint8_t ringbuffer_bump(ringbuffer_t *buf);