From a85af593f170f4081b44157d82e746ddc12cdc91 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 27 Nov 2011 21:11:47 +0100 Subject: fifo_buffer: add functions _capacity() and _available() --- src/fifo_buffer.c | 16 ++++++++++++++++ src/fifo_buffer.h | 13 +++++++++++++ 2 files changed, 29 insertions(+) (limited to 'src') diff --git a/src/fifo_buffer.c b/src/fifo_buffer.c index 9ac7270bb..65cb2ffdc 100644 --- a/src/fifo_buffer.c +++ b/src/fifo_buffer.c @@ -66,6 +66,22 @@ fifo_buffer_free(struct fifo_buffer *buffer) g_free(buffer); } +size_t +fifo_buffer_capacity(const struct fifo_buffer *buffer) +{ + assert(buffer != NULL); + + return buffer->size; +} + +size_t +fifo_buffer_available(const struct fifo_buffer *buffer) +{ + assert(buffer != NULL); + + return buffer->end - buffer->start; +} + void fifo_buffer_clear(struct fifo_buffer *buffer) { diff --git a/src/fifo_buffer.h b/src/fifo_buffer.h index 661dfd57e..114feec4c 100644 --- a/src/fifo_buffer.h +++ b/src/fifo_buffer.h @@ -62,6 +62,19 @@ fifo_buffer_new(size_t size); void fifo_buffer_free(struct fifo_buffer *buffer); +/** + * Return the capacity of the buffer, i.e. the size that was passed to + * fifo_buffer_new(). + */ +size_t +fifo_buffer_capacity(const struct fifo_buffer *buffer); + +/** + * Return the number of bytes currently stored in the buffer. + */ +size_t +fifo_buffer_available(const struct fifo_buffer *buffer); + /** * Clears all data currently in this #fifo_buffer object. This does * not overwrite the actuall buffer; it just resets the internal -- cgit v1.2.3