Lines Matching refs:buf
12 int buf_init (circbuf_t * buf, unsigned int size) in buf_init() argument
14 assert (buf != NULL); in buf_init()
16 buf->size = 0; in buf_init()
17 buf->totalsize = size; in buf_init()
18 buf->data = (char *) malloc (sizeof (char) * size); in buf_init()
19 assert (buf->data != NULL); in buf_init()
21 buf->top = buf->data; in buf_init()
22 buf->tail = buf->data; in buf_init()
23 buf->end = &(buf->data[size]); in buf_init()
28 int buf_free (circbuf_t * buf) in buf_free() argument
30 assert (buf != NULL); in buf_free()
31 assert (buf->data != NULL); in buf_free()
33 free (buf->data); in buf_free()
34 memset (buf, 0, sizeof (circbuf_t)); in buf_free()
39 int buf_pop (circbuf_t * buf, char *dest, unsigned int len) in buf_pop() argument
44 assert (buf != NULL); in buf_pop()
47 p = buf->top; in buf_pop()
50 if (len > buf->size) in buf_pop()
51 len = buf->size; in buf_pop()
56 if (p == buf->end) { in buf_pop()
57 p = buf->data; in buf_pop()
62 buf->top = p; in buf_pop()
63 buf->size -= len; in buf_pop()
68 int buf_push (circbuf_t * buf, const char *src, unsigned int len) in buf_push() argument
74 assert (buf != NULL); in buf_push()
77 p = buf->tail; in buf_push()
81 if (p == buf->end) { in buf_push()
82 p = buf->data; in buf_push()
85 if (buf->size < buf->totalsize) { in buf_push()
86 buf->size++; in buf_push()
88 buf->top++; in buf_push()
89 if (buf->top == buf->end) { in buf_push()
90 buf->top = buf->data; in buf_push()
96 buf->tail = p; in buf_push()