--- /dev/null
+#ifndef _FIFO_H_\r
+#define _FIFO_H_\r
+\r
+#include <stdio.h>\r
+#include <string.h>\r
+\r
+class Fifo {\r
+ public:\r
+ Fifo(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
+\r
+ protected:\r
+ char *_buffer;\r
+ unsigned _use;\r
+ unsigned _tail;\r
+ unsigned _size;\r
+};\r
+\r
+#endif\r