XenevaOS
Loading...
Searching...
No Matches
circbuf.h
Go to the documentation of this file.
1
30#ifndef __CIRC_BUF_H__
31#define __CIRC_BUF_H__
32
33#include <stdint.h>
34
35
36typedef struct _circ_buf_ {
38 size_t head;
39 size_t tail;
40 size_t max;
41 bool full;
43
44
45/*
46* AuAdvancePointer -- advances the pointer
47* of the buffer
48* @param cbuf -- Pointer to the circular buffer
49*/
50extern void AuAdvancePointer(CircBuffer *cbuf);
51
52/*
53* AuRetreatPointer -- retreat the pointer of
54* the buffer
55* @param cbuf -- Pointer to the circular buffer
56*/
57extern void AuRetreatPointer(CircBuffer *cbuf);
58
59/*
60* AuCircBufReset -- reset the entire buffer
61* @param cbuf -- Pointer to the circular buffer
62*/
63extern void AuCircBufReset(CircBuffer *cbuf);
64
65/*
66* AuCircBufInitialise -- initialise a new circular buffer
67* @param buffer -- Pointer to the actual buffer pointer
68* @param sz -- size of the buffer
69*/
70extern CircBuffer* AuCircBufInitialise(uint8_t* buffer, size_t sz);
71
72/*
73* AuCircBufFree -- free a circular buffer
74* @param cbuf -- Pointer to the circular buffer
75* to free
76*/
77extern void AuCircBufFree(CircBuffer *cbuf);
78
79/*
80* AuCircBufSize -- returns the circular
81* buffer size
82* @param cbuf -- Pointer to the circular
83* buffer size
84*/
85extern size_t AuCircBufSize(CircBuffer *cbuf);
86
87/*
88* AuCircBufCapacity -- returns the circular
89* buffer capacity
90*/
91extern size_t AuCircBufCapacity(CircBuffer *cbuf);
92
93/*
94* AuCircBufPutData -- puts a data to circular buffer
95* @param cbuf-- Pointer to the circular buffer
96* @param data -- data to put
97*/
98extern void AuCircBufPutData(CircBuffer* cbuf, uint8_t data);
99
100/*
101* AuCircBufPut -- puts data onto circular buffer
102* @param cbuf -- Pointer to the circular buffer
103* @param data -- data to put
104*/
105extern int AuCircBufPut(CircBuffer* cbuf, uint8_t data);
106
107/*
108* AuCircBufGet -- gets a data from circular
109* buffer
110* @param cbuf -- Pointer to the circular buffer
111* @param data -- Pointer to the buffer
112* where to put the data
113*/
114extern int AuCircBufGet(CircBuffer *cbuf, uint8_t *data);
115
116/*
117* CircBufEmpty -- checks if the circular
118* buffer is empty
119* @param cbuf -- Pointer to the circular
120* buffer
121*/
122extern bool CircBufEmpty(CircBuffer *cbuf);
123
124/*
125* CircBufFull -- checks if the circular
126* buffer is full
127* @param cbuf -- Pointer to the circular
128* buffer
129*/
130extern bool CircBufFull(CircBuffer *cbuf);
131
132
133#endif
unsigned char uint8_t
Definition acefiex.h:161
size_t AuCircBufCapacity(CircBuffer *cbuf)
AuCircBufCapacity – returns the circular buffer capacity.
Definition circbuf.cpp:110
CircBuffer * AuCircBufInitialise(uint8_t *buffer, size_t sz)
AuCircBufInitialise – initialise a new circular buffer.
Definition circbuf.cpp:71
bool CircBufEmpty(CircBuffer *cbuf)
CircBufEmpty – checks if the circular buffer is empty.
Definition circbuf.cpp:165
int AuCircBufGet(CircBuffer *cbuf, uint8_t *data)
AuCircBufGet – gets a data from circular buffer.
Definition circbuf.cpp:147
void AuAdvancePointer(CircBuffer *cbuf)
AuAdvancePointer – advances the pointer of the buffer.
Definition circbuf.cpp:38
int AuCircBufPut(CircBuffer *cbuf, uint8_t data)
AuCircBufPut – puts data onto circular buffer.
Definition circbuf.cpp:129
void AuCircBufFree(CircBuffer *cbuf)
AuCircBufFree – free a circular buffer.
Definition circbuf.cpp:84
struct _circ_buf_ CircBuffer
void AuRetreatPointer(CircBuffer *cbuf)
AuRetreatPointer – retreat the pointer of the buffer.
Definition circbuf.cpp:51
void AuCircBufReset(CircBuffer *cbuf)
AuCircBufReset – reset the entire buffer.
Definition circbuf.cpp:60
bool CircBufFull(CircBuffer *cbuf)
CircBufFull – checks if the circular buffer is full.
Definition circbuf.cpp:176
size_t AuCircBufSize(CircBuffer *cbuf)
AuCircBufSize – returns the circular buffer size.
Definition circbuf.cpp:94
void AuCircBufPutData(CircBuffer *cbuf, uint8_t data)
AuCircBufPutData – puts a data to circular buffer.
Definition circbuf.cpp:119
Definition circbuf.h:36
size_t tail
Definition circbuf.h:39
bool full
Definition circbuf.h:41
size_t head
Definition circbuf.h:38
uint8_t * buffer
Definition circbuf.h:37
size_t max
Definition circbuf.h:40