45 size_t size; |
45 size_t size; |
46 size_t pos; |
46 size_t pos; |
47 int error; |
47 int error; |
48 } Writer; |
48 } Writer; |
49 |
49 |
50 |
50 #define writer_put_lit(w, str) writer_put(w, str, sizeof(str)-1) |
|
51 #define writer_put_str(w, str) writer_put(w, str, strlen(str)) |
51 |
52 |
52 void writer_init(Writer *w, SYS_NETFD fd, char *buf, size_t len); |
53 void writer_init(Writer *w, SYS_NETFD fd, char *buf, size_t len); |
53 |
54 |
54 void writer_init_with_stream(Writer *w, void *stream, wr_writefunc writefunc, char *buf, size_t len); |
55 void writer_init_with_stream(Writer *w, void *stream, wr_writefunc writefunc, char *buf, size_t len); |
55 |
56 |
56 int writer_flush(Writer *w); |
57 int writer_flush(Writer *w); |
57 |
58 |
58 int writer_put(Writer *w, const char *s, size_t len); |
59 int writer_put(Writer *w, const char *s, size_t len); |
59 |
60 |
60 int writer_puts(Writer *w, sstr_t s); |
61 int writer_puts(Writer *w, cxstring s); |
61 |
62 |
62 int writer_putc(Writer *w, char c); |
63 int writer_putc(Writer *w, char c); |
63 |
64 |
64 int writer_fwrite(const void *s, size_t size, size_t nelem, Writer *w); |
65 int writer_fwrite(const void *s, size_t size, size_t nelem, Writer *w); |
65 |
66 |