summaryrefslogtreecommitdiff
path: root/kslog/circbuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'kslog/circbuf.h')
-rw-r--r--kslog/circbuf.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/kslog/circbuf.h b/kslog/circbuf.h
new file mode 100644
index 0000000..a5a590a
--- /dev/null
+++ b/kslog/circbuf.h
@@ -0,0 +1,35 @@
+/*
+ * circbuf.h
+ *
+ * circular buffer interface
+ *
+ * mike@gravitino.net
+ */
+
+typedef struct circular_buffer
+{
+ int len ;
+ int size;
+ int next;
+ int curr;
+ int loop;
+
+ unsigned char *buf;
+
+} circular_buffer;
+
+/*
+ * initialize circular_buffer structure:
+ * zero out structure & save buf & len args to structure members
+ */
+void cb_init(circular_buffer *cb, unsigned char *buf, int len);
+
+/*
+ * place character into circular buffer
+ */
+void cb_putc(circular_buffer *cb, char ch);
+
+/*
+ * remove character from circular buffer
+ */
+int cb_getc(circular_buffer *cb, char *ch);