aboutsummaryrefslogtreecommitdiffstats
path: root/src/ring.c
diff options
context:
space:
mode:
authorjames <>2008-02-08 15:06:52 +0000
committerjames <>2008-02-08 15:06:52 +0000
commita4101322d71ce2f800d741e98ec8f537c70b663f (patch)
tree9ff178d83a007491efafce60ba2d7b0a363e2858 /src/ring.c
parent314cd6b742efa6e0c97f4b9e991add65c5bbaad4 (diff)
downloadsympathy-a4101322d71ce2f800d741e98ec8f537c70b663f.tar.gz
sympathy-a4101322d71ce2f800d741e98ec8f537c70b663f.tar.bz2
sympathy-a4101322d71ce2f800d741e98ec8f537c70b663f.zip
*** empty log message ***
Diffstat (limited to 'src/ring.c')
-rw-r--r--src/ring.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/ring.c b/src/ring.c
new file mode 100644
index 0000000..310ea64
--- /dev/null
+++ b/src/ring.c
@@ -0,0 +1,62 @@
+/*
+ * ring.c:
+ *
+ * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
+ * All rights reserved.
+ *
+ */
+
+static char rcsid[] = "$Id$";
+
+/*
+ * $Log$
+ * Revision 1.1 2008/02/08 15:06:42 james
+ * *** empty log message ***
+ *
+ */
+
+#include "project.h"
+
+int ring_read(Ring *r,void *b,int n)
+{
+int red=0;
+
+while (n--) {
+
+if (!ring_read_one(r,b))
+ break;
+
+b++;
+red++;
+}
+
+return red;
+}
+
+int ring_write(Ring *r,void *b,int n)
+{
+int writ=0;
+
+while (n--) {
+
+if (!ring_write_one(r,b))
+ break;
+
+b++;
+writ++;
+}
+
+return writ;
+}
+
+
+
+Ring *ring_new(int n)
+{
+Ring *ret=(Ring *)malloc(sizeof(Ring));
+ret->buf=(uint8_t *)malloc(n);
+ret->size=n;
+ret->wptr=ret->rptr=0;
+
+return ret;
+}