4 * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
9 static char rcsid[] = "$Id: ring.c,v 1.8 2008/03/07 13:16:02 james Exp $";
13 * Revision 1.8 2008/03/07 13:16:02 james
14 * *** empty log message ***
16 * Revision 1.7 2008/03/07 12:37:04 james
17 * *** empty log message ***
19 * Revision 1.6 2008/03/03 06:04:42 james
20 * *** empty log message ***
22 * Revision 1.5 2008/03/02 10:37:56 james
23 * *** empty log message ***
25 * Revision 1.4 2008/02/13 16:57:29 james
26 * *** empty log message ***
28 * Revision 1.3 2008/02/13 09:12:21 james
29 * *** empty log message ***
31 * Revision 1.2 2008/02/12 22:36:46 james
32 * *** empty log message ***
34 * Revision 1.1 2008/02/08 15:06:42 james
35 * *** empty log message ***
42 ring_read (Ring * r, void *b, int n)
48 if (!ring_read_one (r, b))
59 ring_write (Ring * r, void *b, int n)
65 if (!ring_write_one (r, b))
80 i = r->size - RING_NEXT_W (r) + r->rptr;
90 i = r->size + r->wptr - r->rptr;
101 Ring *ret = (Ring *) xmalloc (sizeof (Ring));
102 ret->ring = (uint8_t *) xmalloc (n);
104 ret->wptr = ret->rptr = 0;