gwenhywfar 5.11.2beta
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
36extern "C" {
37#endif
38
39
47
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
212uint32_t
214
221uint32_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
GWENHYWFAR_API void GWEN_RingBuffer_Reset(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API char * GWEN_RingBuffer_GetWritePointer(const GWEN_RINGBUFFER *rb)
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 uint32_t GWEN_RingBuffer_GetEmptyCounter(const GWEN_RINGBUFFER *rb)
GWENHYWFAR_API GWEN_RINGBUFFER * GWEN_RingBuffer_new(unsigned int size)
GWENHYWFAR_API int GWEN_RingBuffer_ReadByte(GWEN_RINGBUFFER *rb)
GWENHYWFAR_API void GWEN_RingBuffer_SkipBytesRead(GWEN_RINGBUFFER *rb, uint32_t psize)
GWENHYWFAR_API const char * GWEN_RingBuffer_GetReadPointer(const GWEN_RINGBUFFER *rb)
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)