+#ifndef _FIFO_H_\r
+#define _FIFO_H_\r
+\r
+#include "systemc.h"\r
+\r
+class Fifo {\r
+ public:\r
+ Fifo(char* name, unsigned size);\r
+ virtual ~Fifo();\r
+\r
+ virtual unsigned read(void *destination, unsigned len);\r
+ virtual unsigned write(const void *source, unsigned len);\r
+ virtual unsigned used() const;\r
+ virtual unsigned unused() const;\r
+ virtual unsigned size() const;\r
+ virtual char* getName() const;\r
+\r
+ protected:\r
+ char *_buffer;\r
+ //unsigned _head;\r
+ unsigned _tail;\r
+ unsigned _size;\r
+ unsigned _use; \r
+ char *_name;\r
+ sc_event _readEvent;\r
+ sc_event _writeEvent;\r
+};\r
+\r
+#endif\r