gwenhywfar  5.11.1beta
ringbuffer.h
Go to the documentation of this file.
1 /***************************************************************************
2  $RCSfile$
3  -------------------
4  cvs : $Id$
5  begin : Sun Jan 25 2004
6  copyright : (C) 2004 by Martin Preuss
7  email : martin@libchipcard.de
8 
9  ***************************************************************************
10  * *
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24  * MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 
29 #ifndef GWEN_RINGBUFFER_H
30 #define GWEN_RINGBUFFER_H
31 
32 #include <gwenhywfar/types.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 
47 
48 typedef struct GWEN_RINGBUFFER GWEN_RINGBUFFER;
49 
50 
61 
67 
68 
83  const char *buffer,
84  uint32_t *size);
85 
91 
92 
103  char *buffer,
104  uint32_t *size);
105 
123 
130 
149 
152 
153 
159 
162 
163 
170 
176 
177 
178 
184 
191 
194 
195  /* name */
197 
198 
199 
212 uint32_t
214 
221 uint32_t
223 
232  uint32_t psize);
233 
242  uint32_t psize);
243 
255 
267  /* name */
269 
270  /* group */
272 
273 #ifdef __cplusplus
274 }
275 #endif
276 
277 
278 #endif /* GWEN_RINGBUFFER_H */
279 
280 
281 
282 
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
GWENHYWFAR_API void GWEN_RingBuffer_Reset(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API GWEN_RINGBUFFER * GWEN_RingBuffer_new(unsigned int size)
GWENHYWFAR_API int GWEN_RingBuffer_WriteBytes(GWEN_RINGBUFFER *rb, const char *buffer, uint32_t *size)
GWENHYWFAR_API void GWEN_RingBuffer_ResetFullCounter(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_ResetEmptyCounter(GWEN_RINGBUFFER *rb)
struct GWEN_RINGBUFFER GWEN_RINGBUFFER
Definition: ringbuffer.h:48
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetMaxUnsegmentedRead(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetUsedBytes(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetBytesLeft(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetFullCounter(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API int GWEN_RingBuffer_WriteByte(GWEN_RINGBUFFER *rb, char c)
GWENHYWFAR_API void GWEN_RingBuffer_SkipBytesWrite(GWEN_RINGBUFFER *rb, uint32_t psize)
GWENHYWFAR_API int GWEN_RingBuffer_ReadBytes(GWEN_RINGBUFFER *rb, char *buffer, uint32_t *size)
GWENHYWFAR_API char * GWEN_RingBuffer_GetWritePointer(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetEmptyCounter(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API const char * GWEN_RingBuffer_GetReadPointer(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API int GWEN_RingBuffer_ReadByte(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_SkipBytesRead(GWEN_RINGBUFFER *rb, uint32_t psize)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetBufferSize(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_ResetThroughput(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetThroughput(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetMaxUsedBytes(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_ResetMaxUsedBytes(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API uint32_t GWEN_RingBuffer_GetMaxUnsegmentedWrite(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_free(GWEN_RINGBUFFER *rb)