Merge branch 'switch' into edge
[clinton/Smoothieware.git] / src / libs / Network / uip / fifo.cpp
CommitLineData
d4ee6ee2
JM
1// c accessibllity to the c++ fifo class
2#include "fifo.h"
3#include "c-fifo.h"
4
5void *new_fifo()
6{
7 return new Fifo<char*>;
8}
9
10void delete_fifo(void *fifo)
11{
12 if(fifo == NULL) return;
13 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
14 while(f->size() > 0) {
15 char *s= f->pop();
16 if (s != NULL) {
17 free(s);
18 }
19 }
20 delete f;
21}
22
23char *fifo_pop(void *fifo)
24{
25 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
26 return f->pop();
27}
28
29void fifo_push(void *fifo, char *str)
30{
31 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
32 f->push(str);
33}
34
35int fifo_size(void *fifo)
36{
37 Fifo<char *> *f= static_cast<Fifo<char *> *>(fifo);
38 return f->size();
39}