dol: initial dol commit
[jump.git] / dol / src / dol / visitor / protothread / lib / Fifo.h
1 #ifndef _FIFO_H_\r
2 #define _FIFO_H_\r
3 \r
4 #include <stdio.h>\r
5 #include <string.h>\r
6 \r
7 class Fifo {\r
8     public:\r
9         Fifo(unsigned size);\r
10         virtual ~Fifo();\r
11 \r
12         virtual unsigned read(void *destination, unsigned len);\r
13         virtual unsigned write(const void *source, unsigned len);\r
14         virtual unsigned used() const;\r
15         virtual unsigned unused() const;\r
16         virtual unsigned size() const;\r
17 \r
18     protected:\r
19         char *_buffer;\r
20         unsigned _use;\r
21         unsigned _tail;\r
22         unsigned _size;\r
23 };\r
24 \r
25 #endif\r