#ifndef RINGBUFFER_H #define RINGBUFFER_H #include #include typedef struct { atomic_size_t head; atomic_size_t tail; size_t capacity; float *buf; } RingBuf; int ring_init(RingBuf *r, size_t capacity); void ring_destroy(RingBuf *r); size_t ring_write(RingBuf *r, const float *data, size_t count); size_t ring_read(RingBuf *r, float *data, size_t count); #endif