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