src/server/util/io.h

changeset 697
3ddfd45d4e47
parent 684
48da20bde908
--- a/src/server/util/io.h	Sun Feb 22 09:33:48 2026 +0100
+++ b/src/server/util/io.h	Sun Feb 22 10:05:37 2026 +0100
@@ -50,6 +50,7 @@
 
 #define IO_MODE_BLOCKING    0
 #define IO_MODE_NONBLOCKING 1
+#define IO_MODE_RAW         2
     
 #define IO_POLL_NONE        0
 #define IO_POLL_IN          1
@@ -180,6 +181,10 @@
      * end of file indicator (write)
      */
     WSBool write_eof;
+    /*
+     * raw socket IO
+     */
+    WSBool raw;
 };
 
 typedef struct SSLStream {
@@ -216,9 +221,12 @@
 
 ssize_t net_http_write(HttpStream *st, const void *buf, size_t nbytes);
 ssize_t net_http_writev(HttpStream *st, struct iovec *iovec, int iovcnt);
+ssize_t net_http_write_raw(HttpStream *st, const void *buf, size_t nbytes);
+ssize_t net_http_writev_raw(HttpStream *st, struct iovec *iovec, int iovcnt);
 ssize_t net_http_read(HttpStream *st, void *buf, size_t nbytes);
 ssize_t net_http_read_buffered(HttpStream *st, void *buf, size_t nbytes);
 ssize_t net_http_read_chunked(HttpStream *st, void *buf, size_t nbytes);
+ssize_t net_http_read_raw(HttpStream *st, void *buf, size_t nbytes);
 ssize_t net_http_sendfile(HttpStream *st, sendfiledata *sfd);
 void    net_http_close(HttpStream *st);
 void    net_http_finish(HttpStream *st);

mercurial