65 size_t read; |
67 size_t read; |
66 int chunked_enc; |
68 int chunked_enc; |
67 int buffered; |
69 int buffered; |
68 } NetIOStream; |
70 } NetIOStream; |
69 |
71 |
|
72 typedef struct SSLStream { |
|
73 IOStream st; |
|
74 SSL *ssl; |
|
75 } SSLStream; |
|
76 |
70 |
77 |
71 /* net_ functions */ |
78 /* net_ functions */ |
72 ssize_t net_read(SYS_NETFD fd, void *buf, size_t nbytes); |
79 ssize_t net_read(SYS_NETFD fd, void *buf, size_t nbytes); |
73 ssize_t net_write(SYS_NETFD fd, void *buf, size_t nbytes); |
80 ssize_t net_write(SYS_NETFD fd, void *buf, size_t nbytes); |
74 ssize_t net_printf(SYS_NETFD fd, char *format, ...); |
81 ssize_t net_printf(SYS_NETFD fd, char *format, ...); |
100 ssize_t net_stream_read(NetIOStream *st, void *buf, size_t nbytes); |
107 ssize_t net_stream_read(NetIOStream *st, void *buf, size_t nbytes); |
101 ssize_t net_stream_sendfile(NetIOStream *st, sendfiledata *sfd); |
108 ssize_t net_stream_sendfile(NetIOStream *st, sendfiledata *sfd); |
102 void net_stream_close(NetIOStream *st); |
109 void net_stream_close(NetIOStream *st); |
103 void net_stream_finish(NetIOStream *st); |
110 void net_stream_finish(NetIOStream *st); |
104 |
111 |
|
112 /* ssl stream */ |
|
113 IOStream* net_ssl_stream(pool_handle_t *pool, SSL *ssl); |
|
114 |
|
115 ssize_t net_ssl_write(SSLStream *st, void *buf, size_t nbytes); |
|
116 ssize_t net_ssl_writev(SSLStream *st, struct iovec *iovec, int iovcnt); |
|
117 ssize_t net_ssl_read(SSLStream *st, void *buf, size_t nbytes); |
|
118 void net_ssl_close(SSLStream *st); |
|
119 void net_ssl_finish(SSLStream *st); |
|
120 |
105 /* iovec buffer */ |
121 /* iovec buffer */ |
106 iovec_buf_t *iovec_buf_create(pool_handle_t *pool); |
122 iovec_buf_t *iovec_buf_create(pool_handle_t *pool); |
107 void iovec_buf_write(iovec_buf_t *io, void *buf, size_t nbyte); |
123 void iovec_buf_write(iovec_buf_t *io, void *buf, size_t nbyte); |
108 ssize_t iovec_buf_flush(iovec_buf_t *io, int fd); |
124 ssize_t iovec_buf_flush(iovec_buf_t *io, int fd); |
109 |
125 |