From 6e03faa3d6b4481424d9ed8bb00314a26ecc3652 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser Date: Thu, 11 Sep 2014 13:39:37 +0200 Subject: [PATCH] sys: lib: ringbuffer: introduce ringbuffer_get_free This function returns the number of bytes available in the ringbuffer. --- sys/include/ringbuffer.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/include/ringbuffer.h b/sys/include/ringbuffer.h index 58ba3cd836..af8c20e419 100644 --- a/sys/include/ringbuffer.h +++ b/sys/include/ringbuffer.h @@ -106,6 +106,16 @@ static inline int ringbuffer_full(const ringbuffer_t *restrict rb) return rb->avail == rb->size; } +/** + * @brief Return available space in ringbuffer + * @param[in,out] rb Ringbuffer to query. + * @returns number of available bytes + */ +static inline unsigned int ringbuffer_get_free(const ringbuffer_t *restrict rb) +{ + return rb->size - rb->avail; +} + /** * @brief Read, but don't remove, the oldest element in the buffer. * @param[in] rb Ringbuffer to operate on.