#ifndef __LIBBUF_MISC_H #define __LIBBUF_MISC_H #include "buf.h" //line buffer, put data get line out typedef struct bbuf_line { bbuf *buf; char sep; //seperator character } bbuf_line; int bbuf_line_new(bbuf_line *buf, char sep, int size); int bbuf_line_add(bbuf_line *buf_line, bbuf *new_data); int bbuf_line_get_line(bbuf_line *buf_line, bbuf *line); int bbuf_line_free(bbuf_line *buf); //formating buf ops //circular buffer typedef struct bbuf_circ { bbuf *buf; int head; int tail; } bbuf_circ; int bbuf_circ_new(bbuf_circ **circ, int size); int bbuf_circ_add(bbuf_circ *circ, bbuf *new_data); int bbuf_circ_get_line(bbuf_circ *circ, bbuf *line); int bbuf_circ_reset(bbuf_circ *circ); int bbuf_circ_get(bbuf_circ *circ, char *data); int bbuf_circ_put(bbuf_circ *circ, char data); int bbuf_circ_empty(bbuf_circ *circ); int bbuf_circ_full(bbuf_circ *circ); int bbuf_circ_free(bbuf_circ *circ); #endif