54 #define IO_POLL_NONE 0 |
54 #define IO_POLL_NONE 0 |
55 #define IO_POLL_IN 1 |
55 #define IO_POLL_IN 1 |
56 #define IO_POLL_OUT 2 |
56 #define IO_POLL_OUT 2 |
57 |
57 |
58 typedef struct IOStream IOStream; |
58 typedef struct IOStream IOStream; |
59 typedef struct SysStream SysStream; |
59 typedef struct Sycx_stream Sycx_stream; |
60 typedef struct HttpStream HttpStream; |
60 typedef struct HttpStream HttpStream; |
61 |
61 |
62 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); |
62 typedef ssize_t(*io_write_f)(IOStream *, void *, size_t); |
63 typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int); |
63 typedef ssize_t(*io_writev_f)(IOStream *, struct iovec *, int); |
64 typedef ssize_t(*io_read_f)(IOStream *, void *, size_t); |
64 typedef ssize_t(*io_read_f)(IOStream *, void *, size_t); |
152 } SSLStream; |
152 } SSLStream; |
153 |
153 |
154 |
154 |
155 |
155 |
156 /* system stream */ |
156 /* system stream */ |
157 IOStream* sysstream_new(pool_handle_t *pool, SYS_SOCKET fd); |
157 IOStream* sycx_stream_new(pool_handle_t *pool, SYS_SOCKET fd); |
158 |
158 |
159 ssize_t net_sys_write(SysStream *st, void *buf, size_t nbytes); |
159 ssize_t net_sys_write(Sycx_stream *st, void *buf, size_t nbytes); |
160 ssize_t net_sys_writev(SysStream *st, struct iovec *iovec, int iovcnt); |
160 ssize_t net_sys_writev(Sycx_stream *st, struct iovec *iovec, int iovcnt); |
161 ssize_t net_sys_read(SysStream *st, void *buf, size_t nbytes); |
161 ssize_t net_sys_read(Sycx_stream *st, void *buf, size_t nbytes); |
162 ssize_t net_sys_sendfile(SysStream *st, sendfiledata *sfd); |
162 ssize_t net_sys_sendfile(Sycx_stream *st, sendfiledata *sfd); |
163 void net_sys_close(SysStream *st); |
163 void net_sys_close(Sycx_stream *st); |
164 void net_sys_setmode(SysStream *st, int mode); |
164 void net_sys_setmode(Sycx_stream *st, int mode); |
165 int net_sys_poll(SysStream *st, EventHandler *ev, int events, Event *cb); |
165 int net_sys_poll(Sycx_stream *st, EventHandler *ev, int events, Event *cb); |
166 |
166 |
167 /* http stream */ |
167 /* http stream */ |
168 IOStream* httpstream_new(pool_handle_t *pool, IOStream *fd); |
168 IOStream* httpstream_new(pool_handle_t *pool, IOStream *fd); |
169 |
169 |
170 int httpstream_enable_chunked_read(IOStream *st, char *buffer, size_t bufsize, int *cursize, int *pos); |
170 int httpstream_enable_chunked_read(IOStream *st, char *buffer, size_t bufsize, int *cursize, int *pos); |