/** Line Driven Socket Functions **/ #define _ARISA_LINE_DRIVE_H typedef struct linebuf_t { char *buffer; size_t msgsize; size_t bufsize; int pos; int used; } linebuf_t; linebuf_t *alloc_linebuf(size_t msgsize); void free_linebuf(linebuf_t *lb); void clear_linebuf(linebuf_t *lb); int linebuf_inuse(linebuf_t *lb); size_t copy_linebuf(linebuf_t *lb, char *dst, size_t dstsize); void load_linebuf(linebuf_t *lb, char *src); char *dup_linebuf(linebuf_t *lb); int recv_line(int sok, linebuf_t *lb); int send_line(int sok, linebuf_t *lb);