diff options
author | FreeArtMan <dos21h@gmail.com> | 2019-09-25 19:17:09 +0100 |
---|---|---|
committer | FreeArtMan <dos21h@gmail.com> | 2019-09-25 19:17:09 +0100 |
commit | 3e187c094f12ef41ea6de2f55d128c3e037b5c12 (patch) | |
tree | f0dbbc5df260532e284ca5264297d0a8044eaeb4 /libbuf/buf_misc.h | |
parent | bbd73385a0db271b457c63e4d6bab54f581410f9 (diff) | |
download | ihe-3e187c094f12ef41ea6de2f55d128c3e037b5c12.tar.gz ihe-3e187c094f12ef41ea6de2f55d128c3e037b5c12.zip |
Untested version, recompiled with new buf library and with c+
Diffstat (limited to 'libbuf/buf_misc.h')
-rw-r--r-- | libbuf/buf_misc.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/libbuf/buf_misc.h b/libbuf/buf_misc.h new file mode 100644 index 0000000..ded41d7 --- /dev/null +++ b/libbuf/buf_misc.h @@ -0,0 +1,64 @@ +#ifndef __LIBBUF_MISC_H +#define __LIBBUF_MISC_H + +#include "buf.h" + +#define BUF_PATTER_SIZE 2 + +/* +//line buffer, put data get line out +typedef struct bbuf_line +{ + bbuf *buf; + char pattern[BUF_PATTER_SIZE]; + char sep; //seperator character +} bbuf_line; + +int bbuf_line_new(bbuf_line *buf, int size); +int bbuf_line_pattern(bbuf_line *buf, char *patt, 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); +*/ + +class BufLine +{ +private: + Buf *buf; + char pattern[BUF_PATTER_SIZE]; + char sep; //seperator character +public: + BufLine(int size); + ~BufLine(); + int setpattern(char *pattern); + int setseperator(char s); + int add(char *string, int size); + int add(Buf *newdata); + int pop_line(char **val, int *size); + int print(); + int pop_pattern(int (*detect_pattern)(char *, int, int*), char **val, int *size); +}; + + +//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 |