diff -r 66442f81f823 -r c7f5b062e622 src/server/util/io.h --- a/src/server/util/io.h Sat May 11 13:28:26 2013 +0200 +++ b/src/server/util/io.h Wed May 22 13:27:31 2013 +0200 @@ -38,11 +38,13 @@ typedef struct io_stream IOStream; typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); +typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int); typedef ssize_t(*io_read_f)(IOStream *, void *, size_t); typedef ssize_t(*io_sendfile_f)(IOStream *, sendfiledata *); struct io_stream { io_write_f write; + io_writev_f writev; io_read_f read; io_sendfile_f sendfile; }; @@ -80,12 +82,14 @@ IOStream* stream_new_from_fd(pool_handle_t *pool, int fd); ssize_t system_write(IOStream *st, void *buf, size_t nbytes); +ssize_t system_writev(IOStream *st, struct iovec *iovec, int iovcnt); ssize_t system_read(IOStream *st, void *buf, size_t nbytes); /* net stream */ IOStream* net_stream_from_fd(pool_handle_t *pool, int fd); ssize_t net_stream_write(IOStream *st, void *buf, size_t nbytes); +ssize_t net_stream_writev(IOStream *st, struct iovec *iovec, int iovcnt); ssize_t net_stream_read(IOStream *st, void *buf, size_t nbytes); ssize_t net_stream_sendfile(IOStream *st, sendfiledata *sfd);