chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / ring.c
1 /*
2  * ring.c:
3  *
4  * Copyright (c) 2008 James McKenzie <james@fishsoup.dhs.org>,
5  * All rights reserved.
6  *
7  */
8
9 static char rcsid[] = "$Id$";
10
11 /*
12  * $Log$
13  * Revision 1.1  2008/02/08 15:06:42  james
14  * *** empty log message ***
15  *
16  */
17
18 #include "project.h"
19
20 int ring_read(Ring *r,void *b,int n)
21 {
22 int red=0;
23
24 while (n--) {
25
26 if (!ring_read_one(r,b)) 
27         break;
28
29 b++;
30 red++;
31 }
32
33 return red;
34 }
35
36 int ring_write(Ring *r,void *b,int n)
37 {
38 int writ=0;
39
40 while (n--) {
41
42 if (!ring_write_one(r,b)) 
43         break;
44
45 b++;
46 writ++;
47 }
48
49 return writ;
50 }
51
52
53
54 Ring *ring_new(int n)
55 {
56 Ring *ret=(Ring *)malloc(sizeof(Ring));
57 ret->buf=(uint8_t *)malloc(n);
58 ret->size=n;
59 ret->wptr=ret->rptr=0;
60
61 return ret;
62 }