Lines Matching refs:buf
13 int buf_init (circbuf_t * buf, unsigned int size) in buf_init() argument
15 assert (buf != NULL); in buf_init()
17 buf->size = 0; in buf_init()
18 buf->totalsize = size; in buf_init()
19 buf->data = (char *) malloc (sizeof (char) * size); in buf_init()
20 assert (buf->data != NULL); in buf_init()
22 buf->top = buf->data; in buf_init()
23 buf->tail = buf->data; in buf_init()
24 buf->end = &(buf->data[size]); in buf_init()
29 int buf_free (circbuf_t * buf) in buf_free() argument
31 assert (buf != NULL); in buf_free()
32 assert (buf->data != NULL); in buf_free()
34 free (buf->data); in buf_free()
35 memset (buf, 0, sizeof (circbuf_t)); in buf_free()
40 int buf_pop (circbuf_t * buf, char *dest, unsigned int len) in buf_pop() argument
45 assert (buf != NULL); in buf_pop()
48 p = buf->top; in buf_pop()
51 if (len > buf->size) in buf_pop()
52 len = buf->size; in buf_pop()
57 if (p == buf->end) { in buf_pop()
58 p = buf->data; in buf_pop()
63 buf->top = p; in buf_pop()
64 buf->size -= len; in buf_pop()
69 int buf_push (circbuf_t * buf, const char *src, unsigned int len) in buf_push() argument
75 assert (buf != NULL); in buf_push()
78 p = buf->tail; in buf_push()
82 if (p == buf->end) { in buf_push()
83 p = buf->data; in buf_push()
86 if (buf->size < buf->totalsize) { in buf_push()
87 buf->size++; in buf_push()
89 buf->top++; in buf_push()
90 if (buf->top == buf->end) { in buf_push()
91 buf->top = buf->data; in buf_push()
97 buf->tail = p; in buf_push()