Lines Matching refs:buf
14 int buf_init (circbuf_t * buf, unsigned int size) in buf_init() argument
16 assert (buf != NULL); in buf_init()
18 buf->size = 0; in buf_init()
19 buf->totalsize = size; in buf_init()
20 buf->data = (char *) malloc (sizeof (char) * size); in buf_init()
21 assert (buf->data != NULL); in buf_init()
23 buf->top = buf->data; in buf_init()
24 buf->tail = buf->data; in buf_init()
25 buf->end = &(buf->data[size]); in buf_init()
30 int buf_free (circbuf_t * buf) in buf_free() argument
32 assert (buf != NULL); in buf_free()
33 assert (buf->data != NULL); in buf_free()
35 free (buf->data); in buf_free()
36 memset (buf, 0, sizeof (circbuf_t)); in buf_free()
41 int buf_pop (circbuf_t * buf, char *dest, unsigned int len) in buf_pop() argument
46 assert (buf != NULL); in buf_pop()
49 p = buf->top; in buf_pop()
52 if (len > buf->size) in buf_pop()
53 len = buf->size; in buf_pop()
58 if (p == buf->end) { in buf_pop()
59 p = buf->data; in buf_pop()
64 buf->top = p; in buf_pop()
65 buf->size -= len; in buf_pop()
70 int buf_push (circbuf_t * buf, const char *src, unsigned int len) in buf_push() argument
76 assert (buf != NULL); in buf_push()
79 p = buf->tail; in buf_push()
83 if (p == buf->end) { in buf_push()
84 p = buf->data; in buf_push()
87 if (buf->size < buf->totalsize) { in buf_push()
88 buf->size++; in buf_push()
90 buf->top++; in buf_push()
91 if (buf->top == buf->end) { in buf_push()
92 buf->top = buf->data; in buf_push()
98 buf->tail = p; in buf_push()