src/server/util/writer.h

branch
webdav
changeset 318
60870dbac94f
parent 211
2160585200ac
child 415
d938228c382e
--- a/src/server/util/writer.h	Tue Apr 26 18:21:25 2022 +0200
+++ b/src/server/util/writer.h	Sat Apr 30 20:44:38 2022 +0200
@@ -36,16 +36,23 @@
 extern "C" {
 #endif
 
+typedef ssize_t (*wr_writefunc)(void *, const char *, size_t);
+    
 typedef struct Writer {
-    SYS_NETFD fd;
+    void *fd;
+    wr_writefunc write;
     char *buffer;
     size_t size;
     size_t pos;
     int error;
 } Writer;
 
+
+
 void writer_init(Writer *w, SYS_NETFD fd, char *buf, size_t len);
 
+void writer_init_with_stream(Writer *w, void *stream, wr_writefunc writefunc, char *buf, size_t len);
+
 int writer_flush(Writer *w);
 
 int writer_put(Writer *w, const char *s, size_t len);
@@ -54,6 +61,8 @@
 
 int writer_putc(Writer *w, char c);
 
+int writer_fwrite(const void *s, size_t size, size_t nelem, Writer *w);
+
 #ifdef __cplusplus
 }
 #endif

mercurial