size_t ringbuf_bytes_free(const struct ringbuf_t* rb) { if (rb->head >= rb->tail) { return ringbuf_capacity(rb) - (rb->head - rb->tail); } else { return rb->tail - rb->head - 1; } }
size_t ringbuf_bytes_used(const struct ringbuf_t* rb) { return ringbuf_capacity(rb) - ringbuf_bytes_free(rb); }
int ICACHE_FLASH_ATTR ringbuf_is_empty(const struct ringbuf_t *rb) { return ringbuf_bytes_free(rb) == ringbuf_capacity(rb); }
int ringbuf_is_empty(const struct ringbuf_t* rb) { return ringbuf_bytes_free(rb) == ringbuf_capacity(rb); }
size_t ICACHE_FLASH_ATTR ringbuf_bytes_used(const struct ringbuf_t *rb) { return ringbuf_capacity(rb) - ringbuf_bytes_free(rb); }