dol: initial dol commit
[jump.git] / dol / src / dol / visitor / protothread / lib / Fifo.h
diff --git a/dol/src/dol/visitor/protothread/lib/Fifo.h b/dol/src/dol/visitor/protothread/lib/Fifo.h
new file mode 100644 (file)
index 0000000..a1929dd
--- /dev/null
@@ -0,0 +1,25 @@
+#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