gwenhywfar
4.12.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
gwenhywfar4
gwenhywfar
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
>
33
#include <
gwenhywfar/gwenhywfarapi.h
>
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
39
47
48
typedef
struct
GWEN_RINGBUFFER
GWEN_RINGBUFFER
;
49
50
59
GWENHYWFAR_API
60
GWEN_RINGBUFFER
*
GWEN_RingBuffer_new
(
unsigned
int
size);
61
65
GWENHYWFAR_API
66
void
GWEN_RingBuffer_free
(
GWEN_RINGBUFFER
*rb);
67
68
81
GWENHYWFAR_API
82
int
GWEN_RingBuffer_WriteBytes
(
GWEN_RINGBUFFER
*rb,
83
const
char
*buffer,
84
uint32_t *size);
85
89
GWENHYWFAR_API
90
int
GWEN_RingBuffer_WriteByte
(
GWEN_RINGBUFFER
*rb,
char
c);
91
92
101
GWENHYWFAR_API
102
int
GWEN_RingBuffer_ReadBytes
(
GWEN_RINGBUFFER
*rb,
103
char
*buffer,
104
uint32_t *size);
105
109
GWENHYWFAR_API
110
int
GWEN_RingBuffer_ReadByte
(
GWEN_RINGBUFFER
*rb);
121
GWENHYWFAR_API
122
uint32_t
GWEN_RingBuffer_GetUsedBytes
(
const
GWEN_RINGBUFFER
*rb);
123
128
GWENHYWFAR_API
129
uint32_t
GWEN_RingBuffer_GetBytesLeft
(
const
GWEN_RINGBUFFER
*rb);
130
134
GWENHYWFAR_API
135
uint32_t
GWEN_RingBuffer_GetBufferSize
(
const
GWEN_RINGBUFFER
*rb);
147
GWENHYWFAR_API
148
uint32_t
GWEN_RingBuffer_GetEmptyCounter
(
const
GWEN_RINGBUFFER
*rb);
149
150
GWENHYWFAR_API
151
void
GWEN_RingBuffer_ResetEmptyCounter
(
GWEN_RINGBUFFER
*rb);
152
153
157
GWENHYWFAR_API
158
uint32_t
GWEN_RingBuffer_GetFullCounter
(
const
GWEN_RINGBUFFER
*rb);
159
160
GWENHYWFAR_API
161
void
GWEN_RingBuffer_ResetFullCounter
(
GWEN_RINGBUFFER
*rb);
162
163
168
GWENHYWFAR_API
169
uint32_t
GWEN_RingBuffer_GetThroughput
(
GWEN_RINGBUFFER
*rb);
170
174
GWENHYWFAR_API
175
void
GWEN_RingBuffer_ResetThroughput
(
GWEN_RINGBUFFER
*rb);
176
177
178
182
GWENHYWFAR_API
183
uint32_t
GWEN_RingBuffer_GetMaxUsedBytes
(
const
GWEN_RINGBUFFER
*rb);
184
189
GWENHYWFAR_API
190
void
GWEN_RingBuffer_ResetMaxUsedBytes
(
GWEN_RINGBUFFER
*rb);
191
192
GWENHYWFAR_API
193
void
GWEN_RingBuffer_Reset
(
GWEN_RINGBUFFER
*rb);
194
195
/* name */
197
198
199
211
GWENHYWFAR_API
212
uint32_t
213
GWEN_RingBuffer_GetMaxUnsegmentedRead
(
GWEN_RINGBUFFER
*rb);
214
220
GWENHYWFAR_API
221
uint32_t
222
GWEN_RingBuffer_GetMaxUnsegmentedWrite
(
GWEN_RINGBUFFER
*rb);
223
230
GWENHYWFAR_API
231
void
GWEN_RingBuffer_SkipBytesRead
(
GWEN_RINGBUFFER
*rb,
232
uint32_t psize);
233
240
GWENHYWFAR_API
241
void
GWEN_RingBuffer_SkipBytesWrite
(
GWEN_RINGBUFFER
*rb,
242
uint32_t psize);
243
253
GWENHYWFAR_API
254
const
char
*
GWEN_RingBuffer_GetReadPointer
(
const
GWEN_RINGBUFFER
*rb);
255
265
GWENHYWFAR_API
266
char
*
GWEN_RingBuffer_GetWritePointer
(
const
GWEN_RINGBUFFER
*rb);
267
/* name */
269
270
/* group */
272
273
#ifdef __cplusplus
274
}
275
#endif
276
277
278
#endif
/* GWEN_RINGBUFFER_H */
279
280
281
282
Generated on Sun Apr 27 2014 19:24:12 for gwenhywfar by
1.8.1.2