Loading...
Searching...
No Matches
Go to the documentation of this file.
11#ifndef __FifoBuffer_H__
12#define __FifoBuffer_H__
14#define FifoBuffer_typedef(T, NAME) \
24#define FifoBuffer_init(BUF, S, T, BUFMEM) \
30 BUF->elems = (T*)BUFMEM
32#define FifoBuffer_write(BUF, ELEM)\
33 BUF->elems[BUF->end]=ELEM;\
35 BUF->end=(BUF->end+1)%BUF->size;
37#define FifoBuffer_read(BUF, ELEM)\
38 ELEM=BUF->elems[BUF->start];\
40 BUF->start=(BUF->start+1)%BUF->size;
42#define FifoBuffer_peek(BUF,ELEM,INDEX)\
43 ELEM=BUF->elems[BUF->start+INDEX];
45#define FifoBuffer_flush(BUF)\
51#define FifoBuffer_count(BUF) (BUF->write_count-BUF->read_count)
52#define FifoBuffer_is_full(BUF) (FifoBuffer_count(BUF)==BUF->size)
53#define FifoBuffer_is_empty(BUF) (FifoBuffer_count(BUF)==0)
54#define FifoBuffer_overflow(BUF) (FifoBuffer_count(BUF)>=BUF->size)