1 #ifndef __LUNAIX_RBUFFER_H
2 #define __LUNAIX_RBUFFER_H
4 #include <lunaix/types.h>
15 rbuffer_init(struct rbuffer* rb, char* buf, size_t maxsz)
17 *rb = (struct rbuffer){ .buffer = buf, .maxsz = maxsz };
21 rbuffer_create(char* buf, size_t maxsz);
24 rbuffer_clear(struct rbuffer* rb)
26 rb->len = rb->ptr = 0;
30 rbuffer_empty(struct rbuffer* rb)
36 rbuffer_full(struct rbuffer* rb)
38 return rb->len == rb->maxsz;
42 rbuffer_erase(struct rbuffer* rb);
45 rbuffer_put(struct rbuffer* rb, char c);
48 rbuffer_puts(struct rbuffer* rb, char* c, size_t len);
51 rbuffer_gets(struct rbuffer* rb, char* buf, size_t len);
54 rbuffer_get(struct rbuffer* rb, char* c);
56 #endif /* __LUNAIX_RBUFFER_H */