summaryrefslogtreecommitdiff
path: root/ringbuffer.h
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2011-12-07 15:05:38 +0100
committerJohns <johns98@gmx.net>2011-12-07 15:05:38 +0100
commitce97b938ca2b1767267c253da6c47b3bf07c32eb (patch)
tree42b5e3d67595afc8a0790bdd7baecb8a0d570105 /ringbuffer.h
parentab6c3b4de81554dab6beee615c2744af42b15fd4 (diff)
downloadvdr-plugin-softhddevice-ce97b938ca2b1767267c253da6c47b3bf07c32eb.tar.gz
vdr-plugin-softhddevice-ce97b938ca2b1767267c253da6c47b3bf07c32eb.tar.bz2
C part of the plugin.
Diffstat (limited to 'ringbuffer.h')
-rw-r--r--ringbuffer.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/ringbuffer.h b/ringbuffer.h
new file mode 100644
index 0000000..a5e8a68
--- /dev/null
+++ b/ringbuffer.h
@@ -0,0 +1,59 @@
+///
+/// @file ringbuffer.h @brief Ringbuffer module header file
+///
+/// Copyright (c) 2009, 2011 by Johns. All Rights Reserved.
+///
+/// Contributor(s):
+///
+/// License: AGPLv3
+///
+/// This program is free software: you can redistribute it and/or modify
+/// it under the terms of the GNU Affero General Public License as
+/// published by the Free Software Foundation, either version 3 of the
+/// License.
+///
+/// This program is distributed in the hope that it will be useful,
+/// but WITHOUT ANY WARRANTY; without even the implied warranty of
+/// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+/// GNU Affero General Public License for more details.
+///
+/// $Id$
+//////////////////////////////////////////////////////////////////////////////
+
+/// @addtogroup Ringbuffer
+/// @{
+
+ ///< ring buffer typedef
+typedef struct _ring_buffer_ RingBuffer;
+
+ ///< create new ring buffer
+extern RingBuffer *RingBufferNew(size_t);
+
+ ///< free ring buffer
+extern void RingBufferDel(RingBuffer *);
+
+ /// write into ring buffer
+extern size_t RingBufferWrite(RingBuffer *, const void *, size_t);
+
+ /// get write pointer of ring buffer
+extern size_t RingBufferGetWritePointer(RingBuffer *, void **);
+
+ /// advance write pointer of ring buffer
+extern size_t RingBufferWriteAdvance(RingBuffer *, size_t);
+
+ /// read from ring buffer
+extern size_t RingBufferRead(RingBuffer *, void *, size_t);
+
+ /// get read pointer of ring buffer
+extern size_t RingBufferGetReadPointer(RingBuffer *, const void **);
+
+ /// advance read pointer of ring buffer
+extern size_t RingBufferReadAdvance(RingBuffer *, size_t);
+
+ /// free bytes ring buffer
+extern size_t RingBufferFreeBytes(RingBuffer *);
+
+ /// used bytes ring buffer
+extern size_t RingBufferUsedBytes(RingBuffer *);
+
+/// @}